用c++输出绝对素数
时间: 2025-02-01 20:12:27 浏览: 36
在C++中,绝对素数是指除了1和它本身以外没有其他正因数的自然数。为了找出绝对素数,我们通常会编写一个函数,遍历从2开始的所有整数,检查每个数是否只有两个因子:1和该数本身。以下是简单的C++代码示例:
```cpp
#include <iostream>
#include <vector>
// 判断一个数是否为质数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; ++i) { // 只需检查到√n即可
if (num % i == 0)
return false;
}
return true;
}
// 输出绝对素数
void print_absolute_primes(int limit) {
std::vector<int> absolute_primes;
for (int i = 2; i <= limit; ++i) { // 开始从2开始查找
if (is_prime(i)) {
// 如果是素数,添加到列表中
absolute_primes.push_back(i);
} else if (!is_prime(abs(i))) { // 如果它的相反数也是素数,也添加
// 注意这里只处理非负整数
if (i > 0 && abs(i) != i) {
absolute_primes.push_back(-i);
}
}
}
for (const auto& prime : absolute_primes)
std::cout << prime << " ";
std::cout << std::endl;
}
int main() {
int limit = 50; // 指定查找的范围
print_absolute_primes(limit);
return 0;
}
```
阅读全文
相关推荐















