葛沽镇17年征兵:跪地求教

来源:百度文库 编辑:中科新闻网 时间:2024/05/03 05:55:47
求从3到100之间所有素数之和。要求用C语言回答。哥哥我学的不好,麻烦你们写的详细点,好么?在此谢谢你们!

#include <stdio.h>
#include <math.h>
#define MAX (100)
int isT(int n) //用来判断是否为素数,是返回1,否返回0
{
int i;
for (i=2;i<=sqrt(n);i++) //sqrt(n)对n开平方
if (!(n%i))//n能被i整除,即非素数
return 0;//返回 0
return 1;//没有能整除n的数,即素数,返回 1
}
void main()
{
int k,s=0;
for (k=1;k<=MAX;k++)
if(isT(k))s=s+k;
printf("%d\n",s);

}

如果你认为isT()方法效率不高,还可以使用Eratosthenes筛法重写这个isT(),这样效率要高的多
-----------------
enjoy it~~