原文: https://www.programiz.com/cpp-programming/examples/prime-number

使用for循环和if...else语句检查整数(由用户输入)是否为质数的示例。

要理解此示例,您应该了解以下 C++ 编程主题:


仅可被 1 整除的正整数本身称为质数。

例如:13 是质数,因为它只能被 1 和 13 整除,而 15 不是质数,因为它可以被 1、3、5 和 15 整除。


示例:检查质数

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. int n, i;
  5. bool isPrime = true;
  6. cout << "Enter a positive integer: ";
  7. cin >> n;
  8. for (i = 2; i <= n / 2; ++i) {
  9. if (n % i == 0) {
  10. isPrime = false;
  11. break;
  12. }
  13. }
  14. if (isPrime)
  15. cout << n << " is a prime number";
  16. else
  17. cout << n << " is not a prime number";
  18. return 0;
  19. }

输出

  1. Enter a positive integer: 29
  2. 29 is a prime number.

该程序从用户处获取一个正整数,并将其存储在变量n中。

然后,执行for循环,检查用户输入的数字是否可以被i完全整除。

for循环以i等于 2 的初始值开始,并在每次迭代中增加i的值。

如果用户输入的数字可以被i完全整除,则isPrime设置为false,该数字将不是质数。

但是,如果直到测试条件i <= n/2true时,该数字都不能被i完全整除,则它只能被 1 和该数字本身整除。

因此,给定数字是质数。