用C语言编写函数,判断其是否为素数,若是则返回1,不是返回0
时间: 2024-02-27 13:52:21 浏览: 42
可以使用如下的代码来实现:
```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表示该整数是素数,返回0表示该整数不是素数。函数首先判断输入的整数是否小于等于1,若是则直接返回0;若不是,则从2开始遍历到num/2,判断是否有除了1和本身以外的因子,若有则返回0;若没有则返回1。
相关问题
用c语言编写一个函数判断是不是素数,是的话返回1,不是的话返回0
以下是用 C 语言编写的判断素数的函数:
```c
#include <stdio.h>
int is_prime(int num) {
if (num < 2) { // 小于 2 的数都不是素数
return 0;
}
for (int i = 2; i * i <= num; i++) { // 从 2 到 sqrt(num) 遍历
if (num % i == 0) { // 若 num 能被 i 整除,则 num 不是素数
return 0;
}
}
return 1; // num 不被 2~sqrt(num) 中任何一个数整除,则 num 是素数
}
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d 是素数\n", num);
} else {
printf("%d 不是素数\n", num);
}
return 0;
}
```
该函数接受一个整数作为参数,返回该整数是否为素数的布尔值。首先判断参数是否小于 2,小于 2 的数都不是素数,直接返回 0;否则从 2 到该整数的平方根遍历,若该整数能被任何一个小于它自身的数整除,则说明该整数不是素数,返回 0;否则该整数是素数,返回 1。
判断n是否为素数,若是返回1,否则返回0。用c语言编写
可以使用以下代码判断n是否为素数:
```c
#include <stdio.h>
int is_prime(int n) {
int i;
if (n == 1) {
return 0;
}
for (i = 2; i <= n/2; ++i) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n;
printf("Enter a positive integer: ");
scanf("%d", &n);
if (is_prime(n) == 1) {
printf("%d is a prime number.", n);
} else {
printf("%d is not a prime number.", n);
}
return 0;
}
```
该程序定义了一个名为`is_prime`的函数,该函数接受一个整数n作为参数,并返回1(如果n是素数)或0(如果n不是素数)。该函数使用与之前相同的算法来判断n是否为素数。然后,在`main`函数中,我们调用`is_prime`函数来判断用户输入的整数n是否为素数,并输出相应的消息。