用c++判断一个数是否为素数
时间: 2024-05-06 16:20:27 浏览: 136
输入一个正整数,判断是不是素数(C++)
以下是使用 C 语言编写的判断一个数是否为素数的程序:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) return false; // 0 和 1 不是素数
if (num == 2) return true; // 2 是素数
if (num % 2 == 0) return false; // 其他偶数都不是素数
for (int i = 3; i * i <= num; i += 2) {
if (num % i == 0) return false; // 如果能被奇数整除,就不是素数
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
程序中定义了一个 `is_prime` 函数,它接受一个整数参数,返回一个布尔值,表示该数是否为素数。在函数内部,首先判断输入的数是否小于 2,如果是,则直接返回 false;如果输入的数等于 2,则直接返回 true;如果输入的数是偶数,则也直接返回 false,因为除了 2 以外,其他偶数都不是素数。接下来使用一个循环判断该数是否能被奇数整除,如果能被整除,则返回 false,否则返回 true。
在 `main` 函数中,先提示用户输入一个整数,然后调用 `is_prime` 函数判断该数是否为素数,并输出相应的结果。
阅读全文