我今天在机房小测验遇到了这样一个题目:
求出所有在正整数[M,N]之间的素数之和,并输出素数的个数,其中1<M<N。
我想出了这样一种方法:利用简单的循环语句
int main()
{
int M,N,i,sum=0,count=0;
scanf("%d %d",&M,&N);
for(;M<=N;M++)
{
for(i=2;i<=M;i++) //拿2~M之间的数字挨个试除
{
if(M%i==0)
break; //当满足M%i==0时跳出这个循环
}
if(i==M) //如果M是素数,从2开始,只有i=M的时候成立
{
count+=1;
sum+=M;
}
}
printf("sum=%d count=%d",sum,count);
return 0;
}