c语言问题:求100~300之间的素数之和!!!急急

开始时这样的:# include<studio.h>
int main()
{
int i,m,k,s=0;
要用到for循环,核心思想是拿每一个数处以比他小的数,知道sqrt(m),也就是k

第1个回答  推荐于2016-05-17
#include <stdio.h>

int is_prime(int x)
{
int i;
for(i = 2; i < x; i++) if(x%i == 0) return 0;
return x;
}

int main(void)
{
int x = 0, y = 0;
for(x = 100; x < 300; x++) y += is_prime(x);
printf("\n%d\n", y);
return 0;
}

/*运行的结果是7215*/本回答被提问者采纳
第2个回答  2010-11-04
#include <stdio.h>

int is_prime(int x)
{
int i;
for(i = 2; i < x / 2; i++) // 除数的范围只需要2到x/2
{
if(x%i == 0)
{
return 0; // 若x被i整除,即x不是素数,则返回0
}
}
return x; // 若x是素数,则返回x本身
}

int main(void)
{
int x = 0, y = 0;
for(x = 100; x < 300; x++)
{
y += is_prime(x);
}
printf("\n%d\n", y);
return 0;
}

/*运行的结果是7215*/
相似回答