c++给定一个正整数 n,表示接下来将输入 n 个整数。对于每个输入的整数,判断它是否为素数。如果是素数,输出 1;如果不是素数,输出 0。输出结果为一行,数字之间以空格分隔。
时间: 2024-10-11 18:05:48 浏览: 46
输入一个正整数,判断是不是素数(C++)
在 C++ 中,你可以通过编写一个函数来实现这个功能。首先,我们需要定义一个辅助函数 `isPrime` 来检查一个数是否是素数。然后,遍历输入的每一个整数,如果它是素数就输出 1,否则输出 0。这里是一个简单的示例:
```cpp
#include <iostream>
using namespace std;
// 辅助函数:检查是否为素数
bool isPrime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) { // 只需检查到根号即可
if (num % i == 0)
return false;
}
return true;
}
int main() {
int n;
cin >> n;
// 输入 n 个整数并检查素数
while (n--) {
int input;
cin >> input;
cout << (isPrime(input) ? "1 " : "0 ");
}
// 输出结果前移一位,去掉最后一个空格
cout << endl;
return 0;
}
```
在这个程序中,我们使用了一个优化过的素数检测算法,即只需要检查到输入数的平方根。当用户输入结束后,`main` 函数会打印出所有输入数的素数结果。
阅读全文