1561. PRIME
Constraints
Time Limit: 1 secs, Memory Limit: 32 MB
Description
A prime number is a natural number which has exactly two distinct natural number divisors: 1 and itself. The first prime number is 2. Can you write a program that computes the nth prime number, given a number n <= 10000?
Input
The input contains just one number which is the number n as described above.
The maximum value of n is 10000.
Output
The output consists of a single line with an integer that is the nth prime number.
Sample Input
30
Sample Output
113
注意10000是最多为第10000个质数而不是i最大为10000 i设大一点就好了
#include <iostream>
#include <math.h>
using namespace std;
bool IsPrime (int x) {
if (x <= 1) //0和1都不是质数
return false;
else {
for (int i = 2; i <= (int)sqrt(x); i++)
if ((x % i) == 0)
return false;
return true;
}
}
int main () {
int n;
cin>>n;
while (n>0) {
for (int i = 2; i <= 100000000; i++) {
if (IsPrime(i))
n--;
if (n == 0) {
cout<<i<<endl;
break;
}
}
}
//system("pause");
return 0;
}