CSDN博客

img xkou

使用vector 模板求素数

发表于2004/10/8 14:33:00  949人阅读

分类: C/C++/SDK 人生苦旅

#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;
}    
阅读全文
0 0

相关文章推荐

img
取 消
img