中级光能
题目链接: 酷町堂: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;
}
找错!!!