【题目描述
输入一个正整数n,求第n小的质数。
【输入
一个不超过10000的正整数n。
【输出
第n小的质数。
【样例输入
10
【样例输出
29
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int n = 0;
cin >> n;
int i = 0;
int j = 0;
int sum = 0;
for (i = 2; ; i++)
{
if (i == 2 || i == 3)//2>√2,2>√3,留下2,3
sum++;
for (j = 2; j <= sqrt(i); j++)//防止超时,爆内存
{
if (i % j == 0)
break;
if (j == floor(sqrt(i)))//√i,向下取整,到了根号下i还除不开,则必定为质数
sum++;
}
if (sum == n)
break;
}
cout << i;
return 0;
}