原文: https://www.programiz.com/cpp-programming/examples/prime-number
使用for
循环和if...else
语句检查整数(由用户输入)是否为质数的示例。
要理解此示例,您应该了解以下 C++ 编程主题:
仅可被 1 整除的正整数本身称为质数。
例如:13 是质数,因为它只能被 1 和 13 整除,而 15 不是质数,因为它可以被 1、3、5 和 15 整除。
示例:检查质数
#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;
}
输出
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 和该数字本身整除。
因此,给定数字是质数。