找出1到100里的质数并求和,谁能帮写个程序或者给点建议?200分

来源:百度知道 编辑:UC知道 时间:2024/05/11 14:27:33
另外的100分回答采纳后就给,谢谢(C语言程序)
我要的是C语言程序,不是让找这几个数
程序 懂吗?

#include <stdio.h>
#include <math.h>

int isPrime(int a){ //判断a是不是质数
int i;
for(i=1;i<=sqrt(a)+1;i++){
if(a%i==0) return 0;
}
return 1;
}

//在小于sqrt(a)的所有整数中查找a的因数,
//不过我习惯用sqrt(a)+1,保证不会漏掉
//sqrt(a)这个整数(如果是的话)
//如果有,那么a不是质数,返回0
//如果没有,那么a是质数,返回1

void main(){
int n,sum;
for(n=1;n<=100;n++){
if(isPrime(n)==1) sum+=n;
}
printf("%d",sum);
}

//PS:我对C只是知道点皮毛,如果有语法不对
//的地方,请原谅!建议就是用一个函数来
//检查每一个1到100的整数是不是质数,方法
//我已经说了,然后相加就可以了。
//希望以后能和你继续交流。

2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97=1060
我也是用计算器算出来的,保证对!!!没有程序

我们可以把100以内的质数分为五类记忆。
?第一类:20以内的质数,共8个:2、3、5、7、11、13、17、19。
?第二类:个位数字是3或9,十位数字相差3的质数,共6个:23、29、53、59、83、89。
?第三类:个位数字是1或7,十位数字相差3的质数,共4个:31、37、61、67。
?第四类:个位数字是1、3或7,十位数字相差3的质数,共5个:41、43、47、71、73。
?第五类:还有2个持数是79