本题要求统计给定整数M和N区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
实现代码:
#include<stdio.h>
#include<math.h>
int is_prime (int x){
if (x <= 1) return 0; // 0 和 1 不是素数
int i,f=1;
for(i=2;i<=sqrt(x);i++){ //注意:i==2时不符合循环条件,仍f=1
if(x%i==0){
f=0;
break;
}
}
return f;
}
int main (){
int m,n,i,sum=0,c=0,t;
scanf("%d %d",&m,&n);
if(m*n==0) //判断如果M和N都为 0
printf("0 0");
else{
for(i=m;i<=n;i++){
t=is_prime(i);
if(t!=0){
c+=1;
sum+=i;
}
}
printf("%d %d",c,sum);
}
return 0;
}
标签:11,输出,求和,样例,int,素数,include,输入
From: https://blog.csdn.net/qq_63797435/article/details/136682773