谁能给出个程序计算出1000000个质数

来源:百度知道 编辑:UC知道 时间:2024/07/02 12:53:40
谁能给出个程序计算出1000000个质数

#include<stdio.h>
#include<time.h>
#include<math.h>
#define MAX 100000010
int n,p[MAX],tot=0;
double s,t;
FILE *fp;
void prime()
{int i,j;int t=sqrt(n)+1;
for(i=2;i<t;i++)
if(p[i])
{ fprintf(fp,"%d\n",i);
tot++;
j=i+i;
while(j<n)
{ p[j]=0;
j+=i;
}
}
for(i=t+1;i<n;i++)
if(p[i])
{ tot++;
fprintf(fp,"%d\n",i);
}
}
main()
{ int i;
fp=fopen("prime.txt","w");
scanf("%d",&n);
s=clock();
for(i=0;i<n;i++)
p[i]=1;
prime();
t=clock();
fprintf(fp,"Num = %d\nTime = %.0lf ms\n",tot,t-s);
fclose(fp);
}

编个20行的C不就解决了?

#include <stdio.h>
#include <math.h>
void main()
{
int m,i,k;
m=2;
printf( “%3d”,m);
for(m=3;m<=1000;m+=2)