1.计算并输出1000以内最大的10个素数以及它们的和。

来源:百度知道 编辑:UC知道 时间:2024/05/06 13:27:58
要求:
(1) 在程序内部加必要的注释。
(2) 由于偶数不是素数,可以不考虑对偶数的处理。
(3) 判断是否是素数要求写一函数实现。
输出形式为:素数1+素数2+素数3+…+素数10=总和值。

因为要求最大的十个素数,所以由后面开始往前检查:
#include"stdio.h"
#include"math.h"
int f(int x)//检查素数函数
{
int i;
for(i=2;i<sqrt(x);i++)//检查该数是不是素数,从2开始到它的平方根为止
if(x%i==0)
return 0;//不是素数返回0
return 1;//是素数返回1
}
void main()
{
int a[10],sum=0,i,j,count=0;
for(i=999,j=0;count!=10;i-=2)//计算器等于10为循环结束条件,i-=2为只检查奇数。
if(f(i))//调用函数
{count++;//计数器加一
a[j]=i;//赋值给数组
j++;
}
for(j=0;j<10;j++)
{ sum+=a[j];//计算十个数的总和
printf("%d",a[j]);
if(j<9)
printf("+");//前9个符号为'+'
else
printf("=");//最后一个符号为'='
}
printf("%d\n",sum);
}