#include <iostream>
#include < vector>
#include <cmath>
using namespace std;
int main( int argc, char *argv[]){
if(argc!=2){
cerr<< "Usage:/n/t"<<argv[0]<< " <MaxNum>"<<endl;
return 1;
}
int count=0; //记数
unsigned int maxnum=atoi(argv[1]);
vector< unsigned int> primelist;
vector< unsigned int>::iterator n; //vector 内部指针
primelist.push_back(2); //先放入 2
unsigned int a=2;
for(;a<0xffffffff;a++){
unsigned int b=sqrt(a); //比较开方值来决定
for(n=primelist.begin();1;n++){ //遍历素数列表
if(*n>b) break;
if((a%*n)==0) goto endfor;
}
primelist.push_back(a);
if(a<=maxnum){
count++;
cout<<a<< " ";
}
else
break;
endfor:;
}
cout<<endl<<count<<endl<< "* End *"<<endl;
return 0;
}
#include < vector>
#include <cmath>
using namespace std;
int main( int argc, char *argv[]){
if(argc!=2){
cerr<< "Usage:/n/t"<<argv[0]<< " <MaxNum>"<<endl;
return 1;
}
int count=0; //记数
unsigned int maxnum=atoi(argv[1]);
vector< unsigned int> primelist;
vector< unsigned int>::iterator n; //vector 内部指针
primelist.push_back(2); //先放入 2
unsigned int a=2;
for(;a<0xffffffff;a++){
unsigned int b=sqrt(a); //比较开方值来决定
for(n=primelist.begin();1;n++){ //遍历素数列表
if(*n>b) break;
if((a%*n)==0) goto endfor;
}
primelist.push_back(a);
if(a<=maxnum){
count++;
cout<<a<< " ";
}
else
break;
endfor:;
}
cout<<endl<<count<<endl<< "* End *"<<endl;
return 0;
}