酷代码 AI
菜单
服务商

P2185判断质数问题的C++代码实现

以下是解决该问题的C++代码: ```cpp #include <iostream> using namespace std; int main() { int n; // 输入正整数n cin >> n; // 如果n小于等于1,直接不是质数,没有第二小约数,这里可根据需求处理,本题可认为无意义输入 if (n <= 1) { return 0; } // 从2开始遍历找约数 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. **特殊情况处理**:如果`n`小于等于1,由于质数定义是大于1的自然数,这里可根据需求进行相应处理,本题直接结束程序。 3. **寻找约数**:从2开始遍历到`sqrt(n)`(通过`i * i <= n`实现),如果`n`能被`i`整除,说明`n`不是质数,输出`i`(即第二小约数)并结束程序。 4. **判断质数**:如果遍历完都没有找到除1和自身外的约数,说明`n`是质数,输出`Yes`。 ######[AI问答 | 396点数解答 | 2026-03-22 16:54:08]

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