C++定义函数,判断一个整数是否为素数,主函数中调用该函数,输出小于n(n由用户输入)的所有素数,并统计小于n的素数个数
时间: 2024-12-23 21:13:20 浏览: 12
从键盘任意输入两个整数,输出两数之间的素数,素数判断用函数实现。 扩展要求:1)程序可以循环执行,判断完一组可以再进行下一组;可以设定一个特殊键退出
5星 · 资源好评率100%
在C++中,你可以定义一个名为`isPrime`的函数来检查一个整数是否为素数。首先,你需要创建一个函数模板,因为素数检查通常用于整数,而C++标准库并没有直接提供这个功能。以下是基本的实现:
```cpp
#include <iostream>
// 函数模板:判断一个整数是否为素数
template <typename T>
bool isPrime(T num) {
if (num <= 1)
return false;
for (T i = 2; i * i <= num; ++i) { // 只需检查到num的平方根即可
if (num % i == 0)
return false;
}
return true;
}
int main() {
int n;
std::cout << "请输入一个正整数n: ";
std::cin >> n;
// 主函数中调用isPrime函数,输出并统计小于n的所有素数
int primeCount = 0;
for (int i = 2; i < n; ++i) {
if (isPrime(i)) {
std::cout << i << " ";
++primeCount;
}
}
std::cout << "\n小于" << n << "的素数有 " << primeCount << " 个。\n";
return 0;
}
```
在这个程序中,`isPrime`函数接收一个`T`类型的参数,其中`T`可以是任意整型。`main`函数会从用户那里获取输入的`n`值,然后遍历所有小于`n`的整数,如果某个数是素数就打印出来并更新计数器`primeCount`。
阅读全文