c 语言函数判断素数
时间: 2023-09-14 16:09:35 浏览: 31
以下是判断素数的C语言函数:
```c
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
```
该函数接受一个整数参数num,返回一个整数。如果num是素数,返回1,否则返回0。该函数的实现方法是:如果num小于等于1,则不是素数,返回0。否则,从2开始到num的平方根,依次检查num是否能被这个数整除。如果存在能被整除的数,则num不是素数,返回0。如果不存在能被整除的数,则num是素数,返回1。
相关问题
c 语言简判断质数
以下是判断质数的 C 语言程序示例:
```c
#include <stdio.h>
int main() {
int n, i, flag = 0;
printf("Enter a positive integer: ");
scanf("%d", &n);
for (i = 2; i <= n/2; ++i) {
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1 is not a prime number.");
}
else {
if (flag == 0)
printf("%d is a prime number.", n);
else
printf("%d is not a prime number.", n);
}
return 0;
}
```
该程序中通过循环遍历 2 到 n/2 的所有整数,判断是否能整除 n。如果存在一个整数可以整除 n,说明 n 不是质数,将标志位 flag 设为 1,跳出循环。最后根据标志位的值输出结果。注意,1 不是质数。
c 语言可逆素数
c语言可逆素数是指一个数既是素数,又是将它的数字顺序颠倒后所得到的数也是素数。例如,13是一个c语言可逆素数,因为13和31都是素数。又如,17不是一个c语言可逆素数,因为17颠倒后得到的71不是素数。编写一个判断一个数是否为c语言可逆素数的程序可以采用以下步骤:
1. 判断该数是否为素数。
2. 如果是素数,将该数的各位数字颠倒并计算得到一个新数。
3. 判断新数是否为素数,如果是素数,则原数是c语言可逆素数,否则不是。
下面是一个使用C语言编写的判断一个数是否为c语言可逆素数的程序示例:
```c
#include <stdio.h>
int isPrime(int n) { // 判断素数函数
if (n <= 1) {
return 0;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int reverse(int n) { // 将数的各位数字颠倒
int result = 0;
while (n) {
result = result * 10 + n % 10;
n /= 10;
}
return result;
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (isPrime(n) && isPrime(reverse(n))) {
printf("%d is a c-language reversible prime.\n", n);
} else {
printf("%d is not a c-language reversible prime.\n", n);
}
return 0;
}
```
该程序首先定义了一个判断素数的函数isPrime,然后定义了一个将数的各位数字颠倒的函数reverse。在主函数中,程序首先读入一个数字n,然后用isPrime判断n是否为素数,如果是素数,再用reverse函数将n的各位数字颠倒得到一个新数,用isPrime判断新数是否为素数,最终输出结果。