求1-2/3+3/5-4/7+5/9-6/11+...的前n项和,结果保留3位小数。
输入正整数n(n>0)。
输出一个实数,保留3位小数,单独占一行。
5
0.917
#include<stdio.h>
int main(){
int n;
float flag = 1.0;
float sum = 0;
scanf("%d",&n);
for(int i = 1; i<=n; i++){
sum += flag*i/(2*i-1);
flag *= -1;
}
printf("%.3f", sum);
return 0;
}
运行结果截图:
输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。
输入一个正整数n(n<=1000)
如果n是素数输出"Yes",否则输出"No"。输出占一行。
2
Yes
#include<stdio.h>
int main(){
int n;
int flag = 1;
scanf("%d",&n);
if(n == 1){
printf("No");
}else{
for(int i=2;i<=n/2;i++){
if(n%i==0){
flag = 0;
break;
}
}
if(flag){
printf("Yes");
}else{
printf("No");
}
}
return 0;
}
运行结果截图:
输入两个正整数,输出其最大公约数和最小公倍数。
输入两个正整数n和m(n,m<=1000000)。输入保证最终结果在int范围内。
输出两个整数,用空格隔开。表示m和n的最大公约数和最小公倍数。
4 6
2 12
注意运算过程中的溢出问题
#include<stdio.h>
int main(){
int a, b;
scanf("%d %d", &a, &b);
for(int i = a>b?b:a;i>=1;i--){
if(b%i==0&&a%i==0){
printf("%d ", i);
break;
}
}
for(int i=a>b?a:b;;i++){
if(i%a==0&&i%b==0){
printf("%d", i);
break;
}
}
return 0;
}
运行结果截图: