B1013 数素数 (20 分)

#include <iostream>
using namespace std;
const int maxn=1000000;
int su[maxn],Count=0;//用来存储素数和记录素数的个数
bool p[maxn]={0};//来判断当前数是否为素数
void find(){//寻找素数的函数
for(int i=2;i<maxn;i++){
if(p[i]==false){//如果i为素数
su[Count++]=i;
for(int j=2*i;j<maxn;j+=i){//将后续i的倍数全部排除
p[j]=true;
}
}
}
}
int main(){
find();
int i,m,n,a=1;
cin >> m >> n;
for(i=m-1;i<n;i++){
cout << su[i];
if(a%10==0)printf("\n");
else if(i<n-1)cout << ' ';
a++;
}
return 0;
}
这段代码是用C++实现的一个程序,它定义了一个`find`函数来寻找并存储小于1000000的所有素数,并在`main`函数中,根据用户输入的范围,打印出该范围内所有的素数。程序使用了朴素的素数判断方法,即通过遍历并将素数的倍数标记为非素数。

被折叠的 条评论
为什么被折叠?



