A typical method of exchanging space for time
#include<stdio.h> #define MAX 100000000 int flag[MAX]={0}; long long primenumber[MAX],k=0,i,j; int main() { for(i=2;i<=MAX;i++) if(flag[i]==0) { for(j=i*i;j<=MAX;j+=i) flag[j]=1; } for(i=2;i<=MAX;i++) if(!flag[i]) primenumber[k++]=i; for(i=0;i<k;i++) printf("%d\n",primenumber[i]); }