酷代码 AI
菜单
服务商

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

```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; // 从2开始检查约数 for (int i = 2; i * i <= n; i++) { if (n % i == 0) { // 若能整除,i即为第二小的约数 cout << i << endl; return 0; } } // 没有找到除1和自身以外的约数,是质数 if (n > 1) { cout << "Yes" << endl; } else { // 1不是质数 if (n == 1) { cout << "No" << endl; } } return 0; } ``` 代码解释 1. 输入读取:使用`cin`读取一个正整数`n`。 2. 约数检查:从2开始遍历到`sqrt(n)`,检查是否存在能整除`n`的数。如果找到这样的数`i`,则`i`就是`n`的第二小约数,输出`i`并结束程序。 3. 质数判断:如果遍历完都没有找到除1和自身以外的约数,且`n`大于1,则`n`是质数,输出`Yes`。 4. 特殊情况处理:如果`n`等于1,它不是质数,这里简单输出`No`(根据需求可灵活调整)。 ######[AI问答 | 351点数解答 | 2025-11-08 21:32:37]

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