输入格式:
输入在一行中给出2个正整数M和N(1<=M<=N<=500)。
输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。
#include
int main(){
int M,N;
scanf("%d %d",&M,&N);
int x=M+1;
int sum=0;
int cishu=0;
int sushu=0 ;
int chushu=2;
for(x=M+1;xx++){
for(chushu=2;chushu<x;chushu++){
if(x%chushu==0){
sushu=1;
}
;}
/*如果是素数*/
if(sushu==0){
sum+=x;
cishu++;
printf("x=%d,cishu=%d\n",x,cishu);}
;}
printf("%d %d",cishu,sum);
return 0;
}
只有 2和3 被运算为素数
sushu这个变量在内层循环之前没有清零,所以当执行到4时它变成1了就变不回来了
那么你后面判断它是0的时候永远都是1