用埃氏筛筛出素数表(节约时间)
素数的筛选范围不能小了,一定要够大
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#include<stdio.h>
int main(){ int N,M;scanf("%d %d",&M,&N); int pnum=0,num=0; bool hashtable[1000000]={0}; for(int i=2;i<1000000;i++){ if(hashtable[i]==false){//如果没有被筛去 pnum++; if(pnum>=M&&pnum<=N){//空格,换行 num++; if(num%10!=1)printf(" "); printf("%d",i); if(num%10==0)printf("n"); } for(int j=i+i;j<1000000;j+=i){ hashtable[j]=true; } } } return 0; }
|
近期评论