酷代码 AI
菜单
服务商

C++ 实现:输入正整数判断质数或输出第二小约数

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 质数是大于 1 的自然数 if (n <= 1) { // 从 2 开始找约数 for (int i = 2; i <= n; i++) { if (n % i == 0) { cout << i << endl; return 0; } } } // 检查从 2 到 sqrt(n) 的数是否能整除 n for (int i = 2; i * i <= n; i++) { if (n % i == 0) { // 找到第二小的约数 cout << i << endl; return 0; } } // 如果没有找到除 1 和自身以外的约数,说明是质数 cout << "Yes" << endl; return 0; } ``` 代码解释 1. 输入处理:首先通过`cin`读取用户输入的正整数`n`。 2. 特殊情况处理:对于小于等于 1 的数,它不是质数,从 2 开始找它的约数并输出。 3. 约数检查:从 2 到`sqrt(n)`检查是否有能整除`n`的数。如果找到,说明`n`不是质数,输出这个约数(即第二小的约数)。 4. 质数判断:如果没有找到除 1 和自身以外的约数,说明`n`是质数,输出`Yes`。 ######[AI问答 | 380点数解答 | 2025-11-22 17:10:04]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]