题目来源:http://jsrgzx.openjudge.cn/zhex2/06/
06:第n小的质数
总时间限制: 1000ms 内存限制: 65536kB
描述
输入一个正整数n,求第n小的质数。
输入
一个不超过10000的正整数n。
输出
第n小的质数。
样例输入
10
样例输出
29
--------------------------------------------------------------
思路
不说什么了,注意判断因子的题因子要从2开始枚举不能从1开始枚举。
-----------------------------------------------------
代码
#include<iostream>
#include<cmath>
using namespace std;
bool judge(long long a)
{
if (a==2 || a==3)
{
return true;
}
long long up = (long long) sqrt(a);
for (long long i=2; i<=up; i++)
{
if (a%i==0)
{
return false;
}
}
return true;
}
int main()
{
int n;
cin >> n;
long long ans = 2;
int cnt = 1;
while (cnt<n)
{
if (judge(++ans))
{
cnt++;
}
}
cout << ans;
return 0;
}