C语言求出2-500之间的质数之和

发布网友

我来回答

1个回答

热心网友

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

char f[501];
int a[400];

int main()
{
    int n,i,j,t,top = -1;
    n = 500;

    //筛法求素数
    t = sqrt(n);
    for(i=2;i<=t;i++)
    {
        if(f[i] == 0)
        {
            a[++top] = i;
            for(j=i*i;j<=n;j+=i)
                f[j] = 1;
        }
    }
    for(i=t+1;i<=n;i++)
        if(f[i] == 0)
        {
            a[++top] = i;
        }

    //求和
    t = 0;
    for(i=0;i<=top;i++)
        t += a[i];
    printf("%d\n",t);

    return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com