#include <stdio.h>
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int flag=1;//flag表示素数所累积的个数,要求flag在nm之间
int sum=0;
int i=2;
for(i=2;;i++)//i代表了从2开始无限制的循环,若i是素数则相加,如不是则继续循环,直到flag>m为止 ,从2开始是因为2是第一个素数
{
int isprime=1;//isprime用来判断i是否为素数,如果是则为1.
if(flag>m)
{
break;
}
int j=2;//j用来帮助判断素数
for(j=2;j<i;j++)
{
if(i%j==0)
{
isprime=0;
break;
}
}
if(isprime==1&&flag>=n)//如果i为素数并且 flag>=n,sum的值才会改变
{
sum=sum+i;
}
if(isprime==1)//否则仅仅是素数的累计个数加1
{
flag++;
}
}
printf("%d",sum);
return 0;
}
中国大学moocC语言素数和问题(有注解)
最新推荐文章于 2022-03-29 09:02:09 发布