《算法笔记》P164
代码:
#include <stdio.h>
const int maxn = 1000001;
int prime[maxn],pNum = 0;
bool p[maxn] = {0};
//埃氏筛法求素数
void Find_Prime(int n){
for(int i = 2;i <maxn;i++){
if(p[i]== false){
prime[pNum++] = i;
if(pNum>=n){
break;
}
for(int j = i+i;j<maxn;j = j+i){
p[j] = true;
}
}
}
}
int main(){
int m,n,count = 0;
scanf("%d %d",&m,&n);
Find_Prime(n);
for(int i = m;i <n;i++){
printf("%d",prime[i - 1]);
count++;
if(count % 10 != 0 && i <n){
printf(" ");
}
else{
printf("\n");
}
}
}