回文素数的查询c语言
时间: 2024-10-13 10:17:51 浏览: 33
回文素数是一种特殊的数字,它既是回文又是质数。在C语言中查询回文素数,你需要编写一段程序来检测给定的整数是否同时满足回文数和质数这两个条件。
以下是基本的步骤:
1. **检查回文**:
- 将输入转换为字符串,然后比较首尾字符是否相等,逐次向中间移动判断直到找到不相等的字符或到达中间位置。
2. **检查质数**:
- 使用试除法,从2到该数的平方根,如果发现能被整除,则说明不是质数。
下面是一个简单的C语言函数示例,用于检查一个数是否是回文素数:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool isPalindrome(int num) {
int reversed = 0;
char str[100];
int len = snprintf(str, sizeof(str), "%d", num);
for (int i = len - 1; i >= 0; i--) {
if (str[i] != str[len - i - 1]) {
return false;
}
}
return true;
}
bool isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
bool isPalindromicPrime(int num) {
if (isPalindrome(num) && isPrime(num)) {
return true;
} else {
return false;
}
}
int main() {
int input;
printf("Enter a number: ");
scanf("%d", &input);
if (isPalindromicPrime(input)) {
printf("%d is a palindromic prime.\n", input);
} else {
printf("%d is not a palindromic prime.\n", input);
}
return 0;
}
```
阅读全文