Sicily 1561. PRIME

来源:互联网 发布:linux五笔输入法安装 编辑:程序博客网 时间:2024/04/30 10:35

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


︿( ̄︶ ̄)︿ Just do it!

#include <iostream>#include <cstring>#include <vector>#include <cmath>using namespace std;bool prime[110000];void getPrime(){    memset(prime, true, sizeof(prime));    // think about i < sqrt(110000)    for (int i = 2; i < sqrt(110000); i++) {        if (!prime[i])            continue;        else{            for (int j = i * i; j < 110000; j += i)                prime[j] = false;        }    }}int main(){    vector<int> op;    int num, i = 2;    getPrime();    while (i < 110000) {        if (prime[i])            op.push_back(i);        i++;    }    cin >> num;    cout << op[--num] << endl;}
0 0