| Run ID | 作者 | 问题 | 语言 | 测评结果 | 时间 | 内存 | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 84913 | bnu_fanmeijie | 第n小的质数 | C++ | 通过 | 0 MS | 244 KB | 921 | 2026-03-04 12:37:00 |
#include <iostream> #include <cmath> using namespace std; int main() { int n, cnt = 1; cin >> n; if (n == cnt) cout << 2; // 第1小的质数是2 else for (int i = 3; ; i += 2) // 从第2小的质数3开始查找 { bool flag = true; // flag为true表示n是质数 for (int j = 3; j <= sqrt(i); j ++) // 用[3, sqrt(i)]整除i if (i % j == 0) // 如果i能被j整除,i不是质数 { flag = false; // 设置标记flag为false break; // 退出循环,不用判断了 } if (flag) cnt++; // 累计质数的数目 if (cnt == n) // 如果当前质数的数目等于n { cout << i; // 则输出第n小的质数i break; // 并结束整个循环 } } return 0; }