满意答案
zh19951006
2014.07.02
采纳率:56% 等级:12
已帮助:6562人
//先求3到100间的所有素数,存在数组中;
//求该数组的所有为素数的元素之和,然后开方求平方根
#include <stdio.h>
#include <math.h>
int sushu[98];//开辟个最大容量的,假设都是素数
/*从2开始,是素数就放入数组,
然后用后面的数去除以这个数组的所有元素,
都不能能整除就是素数
最后求和的时候把2去掉*/
int findsushu()
{
int num = 1,n=0;
sushu[0] = 2;
for(int i=3;i<=100;i++)
{
n = 0;
for(int j=0;j<num;j++)
{
if(i%sushu[j] == 0)
break;
else
n++;
}
if(n==num)
{
sushu[num]=i;
printf("%d\n",i);
num++;
}
}
return num;
}
//2是sushu[0],从sushu[1]开始加
int addall(int sum,int num)
{
for(int i=1;i<num;i++)
sum+=sushu[i];
return sum;
}
int main()
{
int num = 0,sum = 0;
float result = 0;
num = findsushu();
printf("num = %d\n",num-1);
sum = addall(sum,num);
printf("sum = %d\n",sum);
result = sqrt(sum);
printf("result is %f",result);
}
00分享举报