下面是一个C++程序示例,用于判断用户输入的正整数是否为素数:
#include <iostream>
using namespace std;
// 函数声明:判断一个数是否是素数
bool isPrime(int num);
int main() {
int n;
// 从键盘输入一个正整数
cout << "Enter a positive integer: ";
cin >> n;
// 调用函数判断其是否是素数
if (isPrime(n)) {
cout << n << " is a prime number." << endl;
} else {
cout << n << " is not a prime number." << endl;
}
return 0;
}
// 函数定义:判断一个数是否是素数
bool isPrime(int num) {
if (num <= 1) return false; // 小于等于1的数不是素数
if (num <= 3) return true; // 2和3是素数
// 如果num能被2或3整除,则它不是素数
if (num % 2 == 0 || num % 3 == 0) return false;
// 检查其他可能的因子
for (int i = 5; i * i <= num; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) return false;
}
return true; // 没有找到因子,所以是素数
}
这段代码首先包含了<iostream>
头文件,然后定义了一个名为isPrime
的函数,负责判断一个数是否为素数。在主函数main
中,程序提示用户输入一个正整数,并使用cin
读取这个数。然后,它调用isPrime
函数来判断这个数是否为素数,并根据结果输出相应的信息。
isPrime
函数首先检查输入的数是否小于等于1(不是素数),然后检查是否小于等于3(是素数)。接下来,它检查这个数是否能被2或3整除。如果都不是,它会通过一个for循环检查是否有其他因子,直到i * i
大于这个数为止。如果在循环中找到了因子,函数将返回false
;如果没有找到,函数将返回true
。
这段代码可以直接复制到C++编译器中进行编译和执行。