问题标题: 酷町堂:6592 素数查找

0
0
已解决
贾一凡
贾一凡
中级光能
中级光能

题目链接: 酷町堂:6592

题目描述 Description

酷町猫在和他的小伙伴们玩游戏,游戏规则是,给定范围n,查询次数为q次,每次查询后输出第k小的素数

输入描述 Input Description

第一行包含两个正整数 n,q分别表示查询的范围和查询的个数。

接下来 q行每行一个正整数 k,表示查询第 k 小的素数。

输出描述 Output Description

输出 q 行,每行一个正整数表示答案

样例输入 Sample Input

100 5 1 2 3 4 5

样例输出 Sample Output

2 3 5 7 11

数据范围及提示 Data Size & Hint

对于 20% 的数据:
1≤n≤10000
对于 70% 的数据:
10000000≤n≤100000000
对于 100% 的数据:
1≤n≤100000000
1≤q≤106
保证查询的素数不大于n。

 

#include<iostream>
#include<cmath>
using namespace std;
bool f(long long n){
    if(n==1) return false;
    for(long long i=2;i<=sqrt(n);i++){
        if(n%i==0){
            return false;
        }
    }
    return true;
}
int main(){
    long long n,a,k;
    cin>>n>>a;
    for(long long i=1;i<=a;i++){
        long long cnt=0;
        cin>>k;
        for(long long j=1;j<=n;j++){
            if(f(j)){
                cnt++;
                if(cnt==k){
                    cout<<j; 
                    break;
                }
            }
        }
        
    }
    return 0;
}

 

找错!!!


0
0
0
我要回答