ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# C++ 程序:检查数字是否为质数 > 原文: [https://www.programiz.com/cpp-programming/examples/prime-number](https://www.programiz.com/cpp-programming/examples/prime-number) #### 使用`for`循环和`if...else`语句检查整数(由用户输入)是否为质数的示例。 要理解此示例,您应该了解以下 [C++ 编程](/cpp-programming "C++ tutorial")主题: * [C++ `if`,`if...else`和嵌套`if...else`](/cpp-programming/if-else) * [C++ `for`循环](/cpp-programming/for-loop) * [C++ `break`和`continue`语句](/cpp-programming/break-continue) * * * 仅可被 1 整除的正整数本身称为质数。 例如:13 是质数,因为它只能被 1 和 13 整除,而 15 不是质数,因为它可以被 1、3、5 和 15 整除。 * * * ## 示例:检查质数 ```cpp #include <iostream> using namespace std; int main() { int n, i; bool isPrime = true; cout << "Enter a positive integer: "; cin >> n; for (i = 2; i <= n / 2; ++i) { if (n % i == 0) { isPrime = false; break; } } if (isPrime) cout << n << " is a prime number"; else cout << n << " is not a prime number"; return 0; } ``` **输出** ```cpp Enter a positive integer: 29 29 is a prime number. ``` 该程序从用户处获取一个正整数,并将其存储在变量`n`中。 然后,执行`for`循环,检查用户输入的数字是否可以被`i`完全整除。 `for`循环以`i`等于 2 的初始值开始,并在每次迭代中增加`i`的值。 如果用户输入的数字可以被`i`完全整除,则`isPrime`设置为`false`,该数字将不是质数。 但是,如果直到测试条件`i <= n/2`为`true`时,该数字都不能被`i`完全整除,则它只能被 1 和该数字本身整除。 因此,给定数字是质数。