44:第n小的质数
44:第n小的质数
描述
输入一个正整数n,求第n小的质数。
输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29
题意总结
找出第n小的质数(只有1和它本身两个因数)。
解题思路
先从二开始循环到一百万,从二开始在判断是不是质数,如果是就从0开始+1,一直加到等于n,输出这个质数。
代码实现
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a,sum=0,b,c;
cin>>n;
for(int i=2;i<=1000000;i++){//从一开始循环,到一百万
a=i;//把i赋值到a上,一边接下来的计算
c=0;把这标记归0 for(int j=2;j*j<=i;j++){//从二开始找i的因数。
if(a%j==0){//如果j是a的因数
c=1;//就做一个标记,证明这个数不是质数
}
}
if(c==0){//如果这个标记未变那么这个数就是质数
sum++;//是一个质数就多一
}
if(sum==n){//如果这个就是第n小的质数
cout<<i;//输出这个数
return 0;
}
}
return 0;
}
浙公网安备 33010602011771号