用c语言编写一个判断素数的函数
时间: 2023-11-30 10:02:04 浏览: 128
好的,以下是一个用 C 语言编写的判断素数的函数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(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 num;
printf("请输入一个整数:");
scanf("%d", &num);
if (is_prime(num)) {
printf("%d是素数\n", num);
} else {
printf("%d不是素数\n", num);
}
return 0;
}
```
这个函数的思路是,如果输入的数小于等于1,则不是素数;否则,从2开始到num的平方根的整数部分,逐一判断是否是num的因子,如果是,则不是素数,否则是素数。
相关问题
c语言编写一个判断素数函数
以下是一个判断素数的C语言函数:
```c
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
```
在主函数中输入一个整数,调用isPrime函数判断,然后在主函数中输出判断结果:
```c
int main() {
int num;
scanf("%d", &num);
if (isPrime(num)) {
printf("yes\n");
} else {
printf("no\n");
}
return 0;
}
```
c语言编写一个判断素数的函数
以下是两个C语言编写判断素数的函数的例子:
1. 从素数的定义下手
```c
int prime(int x) {
int i;
if(x==1) {
return 1;
}
for(i=2;i<x;i++) //这里是“<”而非“<=”.证明了从1到它本身-1都没有其他因数了
{
if(x%i==0) return 1;
}
return 0;
}
```
2. 从素数的定义的延申下手——“根据乘法的特性,可知若从2开始遍历到被判断数的平方根都没有找到能被整除的数,则这个数一定为素数。”
```c
int prime(int x) {
int i,k;
k=sqrt(x); //未知数开平方.注意头文件要有 #include <math.h>
if(x==1) {
return 1;
}
for(i=2;i<=k;i++) {
if(x%i==0) return 1;
}
return 0;
}
```
阅读全文