C语言判断一个正整数是否为素数的函数
时间: 2023-09-17 11:15:00 浏览: 94
以下是一个用 C 语言编写的判断正整数是否为素数的函数:
```c
#include <stdio.h>
int isPrime(int num) {
int i;
if (num == 1) {
return 0;
}
for (i=2; i<=num/2; i++) {
if (num%i == 0) {
return 0;
}
}
return 1;
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数。\n", num);
} else {
printf("%d 不是素数。\n", num);
}
return 0;
}
```
该函数首先排除输入的数为 1 的情况,因为 1 不是素数。然后从 2 开始循环到该数的一半,如果能被整除,则不是素数;否则是素数。最后返回 1 或 0 表示是否为素数。在主函数中,通过调用该函数来进行判断并输出结果。
相关问题
编写判断一个正整数是否为素数的函数C语言实现
以下是判断一个正整数是否为素数的函数C语言实现:
```c
#include <stdio.h>
int is_prime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
if (is_prime(n)) {
printf("%d是素数", n);
} else {
printf("%d不是素数", n);
}
return 0;
}
```
该函数采用了试除法的思想,从2开始向上试除,如果能整除,则不是素数,返回0;否则一直试除到sqrt(n),如果都不能整除,则是素数,返回1。在主函数中,先读入一个正整数,然后调用is_prime函数进行判断。
能否用c语言的形式写出来判断一个正整数是否为素数的函数
可以,以下是用 C 语言写出的判断一个正整数是否为素数的函数:
```c
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false; // 1以下的数都不是素数
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false; // 能被整除的数不是素数
}
}
return true; // 其他情况都是素数
}
```
该函数接收一个正整数 `num`,如果 `num` 是素数则返回 `true`,否则返回 `false`。函数内部使用了一个循环从 2 到 `sqrt(num)` 判断 `num` 能否被整除,如果能被整除则说明 `num` 不是素数,否则说明 `num` 是素数。注意,1 以下的数都不是素数。函数中使用了 `stdbool.h` 头文件中定义的 `bool` 类型。