用c++写判断1000内所有素数的函数
时间: 2024-12-12 17:32:19 浏览: 12
在C++中,你可以编写一个函数来检查一个数字是否是素数,然后遍历1到1000之间的所有数字,对每个数字调用这个函数。下面是一个简单的示例,展示了如何实现这个功能:
```cpp
#include <iostream>
#include <cmath>
// 判断一个数是否为素数
bool isPrime(int num) {
if (num <= 1) return false; // 1不是质数
if (num == 2 || num == 3) return true; // 2和3是质数
if (num % 2 == 0 || num % 3 == 0) return false; // 质数除以2和3余数不可能为0
int i = 5;
while (i * i <= num) { // 只需要检查到sqrt(num)
if (num % i == 0 || num % (i + 2) == 0) return false;
i += 6; // 跳过偶数和比当前因子小的奇数
}
return true;
}
// 主函数打印1000内的所有素数
int main() {
for (int i = 2; i <= 1000; ++i) {
if (isPrime(i)) {
std::cout << i << " ";
}
}
return 0;
}
```
在这个程序中,`isPrime`函数用于检查输入的整数是否为素数,`main`函数则遍历并打印出1000以内的所有素数。
阅读全文