蓝桥刷题打卡4

简介: 蓝桥刷题打卡4
#include <iostream>
#include <set>
using namespace std;
const int maxn=1e8+10;
set<int> s;
bool nosu[maxn];   
int main() {
    int num=0;
    for(int i=2; i<=2000000; i++) {
        if(!nosu[i]) {       
            for(int j=i+i; j<=2000000; j+=i) {
                nosu[j]=1;        
            }
        }
    }
    for(int i=2; i<=2000000; i++) {
        if(!nosu[i]) {
            s.insert(i);
        }
    }
    for(set<int>::iterator it=s.begin(); it!=s.end(); it++) {
        num++;
        if(num==100002) {
            cout<<(*it)<<endl;
            break;
        }
    }
    return 0;
}

第一题筛子,数组得开地尽量大,筛掉质数的倍数。

相关文章
|
5月前
|
算法 C++
小唐蓝桥的做题心得
小唐蓝桥的做题心得
|
5月前
|
存储
蓝桥备战:四元组问题(蓝桥OJ 3416)
蓝桥备战:四元组问题(蓝桥OJ 3416)
52 0
蓝桥杯刷题-1
蓝桥杯刷题-1
92 1
|
机器学习/深度学习 人工智能 搜索推荐