#include <stdio.h>
#include<math.h>
int Get(int n, int a[],int b[]);
int main()
{
int a[100] = {'\0'}; //用以存储素数
a[0] = 2 ;
int b[1000] = { 0 }; //用以判断是否为素数
b[2] = 1 ;
int n = 0;
int sum = 0;
int j = 0;
printf("Input n:");
scanf_s("%d", &n);
Get(n, a, b);
for (int i = 0; i < n+1; i++)
{
if (b[i])
{
sum += a[j];
j++;
}
}
printf("sum=%d\n", sum);
return 0;
}
int Get(int n, int a[],int b[])
{
int judge = 1;
int num = 1;
for (int i = 3; i < n+1; i++)
{
judge = 1;
for (int j = 2; j < sqrt(n)+1; j++)
{
if (i % j == 0)
{
judge = 0;
break;
}
}
if (judge)
{
a[num] = i;
b[i] = 1;
num++;
}
}
return 0;
}
MOOC C语言精髓 第六周程序测试题 素数求和
最新推荐文章于 2021-05-23 05:28:54 发布