1000000以内质数表

2025-04-13 13:03:59
推荐回答(1个)
回答(1):

#include
#include
#include
void main(void)
{
int i,j=0,k;
int a[1000];
char temp[10];
FILE*fp=fopen("质数.txt","w");
a[0]=2;
itoa(a[0],temp,10);
strcat(temp,"\t");
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)
{
if(j<999)
a[++j]=i;
itoa(i,temp,10);
strcat(temp,"\t");
fwrite(temp,1,strlen(temp),fp);
}
}
fclose(fp);
printf("DONE!!\n");
}
这个程序可以产生一个名为“质数”的txt文件,里面的就是一百万以内的质数,质数表太大,有五百多K,发不了。注意,这个必须在32位的编译器中编译,在16位的tc中会出错。