1042: 数列求和3
题目描述
求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;
}
运行结果截图:
1057: 素数判定
题目描述
输入一个正整数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;
}
运行结果截图:
1063: 最大公约与最小公倍
题目描述
输入两个正整数,输出其最大公约数和最小公倍数。
输入
输入两个正整数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;
}
运行结果截图: