现在的位置: 首页 > 综合 > 正文

一百万以内的质数表

2013年09月16日 ⁄ 综合 ⁄ 共 488字 ⁄ 字号 评论关闭

质数表有500多KB,很少有人会随身带着,要上传什么的也不方便。

贴个代码吧,跨平台的,编译出来就可以算100w以内的指数。绿色环保卫生。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define PRIME_SIZE  100000

int main(void)
{
    int i,j=0,k;
    int a[PRIME_SIZE];
    char temp[100] = "";
    FILE*fp=fopen("prime.txt","w");

    a[0]=2;
    j=1;
    sprintf(temp, "%d\n", 2);
    fwrite(temp,1,strlen(temp),fp);

    for(i=3;i<1000000;i+=2)
    {
        for(k=0;k<j;k++)
        {
            if(i%a[k]==0)
                break;
        }

        if(k >= j)
        {
            //prime number
            a[j]=i;
            j++;
            sprintf(temp, "%d\n", i);
            fwrite(temp,1,strlen(temp),fp);
        }
    }
    fclose(fp);
    printf("DONE!!\n");
    return 0;
}

抱歉!评论已关闭.