#include<iostream>
#include<vector>
#include<list>
using namespace std;
int main(){
list<int> prime;
int max;
cout<<"max of the sequence: ";
cin>>max;
vector<bool> num(max,true);
num[0]=false;
for(int i=0;i<max;++i){
if(!num[i])
continue;
else{
prime.push_back(i+1);
for(int j=2*i+1;j<max;j+=(i+1))
num[j]=false;
}
}
for(list<int>::iterator i=prime.begin();i!=prime.end();++i)
cout<<*i<<' ';
return 0;
}
注:自己想出来的算法 后来发现叫筛法
687

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



