用户输出
3
系统信息
Exited with return code 0
编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 |
---|---|---|---|---|---|---|---|---|
#64250 | #105. zxh的继承顺位 | Accepted | 100 | 224 ms | 2408 K | C++ 11 / 971 B | 越杰(计算机)001-唐雨萧 | 2022-03-22 17:23:38 |
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
int main() {
int n;
cin >> n;
bool prime[2000005];
int sieve[2000], ctr = 2;
sieve[0] = 2;
sieve[1] = 3;
memset(prime, true, 2000005);
for (int i = 4; i < 2000; i++) {
bool flag = false;
for (int j = 2; j <= (int)sqrt(i); j++) {
if (i % j == 0) {
flag = true;
break;
}
}
if (!flag) {
sieve[ctr++] = i;
}
}
prime[0] = false;
prime[1] = false;
for (int i = 0; i < ctr; i++) {
for (int j = 2; j * sieve[i] <= 2000000; j++) {
prime[j * sieve[i]] = false;
}
}
// cout << 2;
if (n == 1) {
cout << 2;
return 0;
}
ctr = 0;
for (int i = 3; i < 2000000; i++) {
if (prime[i])
ctr++;
if (ctr == n - 1) {
cout << i;
break;
}
}
return 0;
}