用C语言输出100-1000区间内所有回文素数。
时间: 2024-12-18 18:28:52 浏览: 9
find-prime-numbers.zip_find prime numbers
在C语言中,输出100-1000区间的回文素数需要结合一些基本的算法,包括判断一个数是否为素数以及检查它是否是回文数。首先,你需要编写函数分别检查一个数是否为素数(只有两个正因子1和本身),然后判断该数是否等于其反向字符串形式(回文)。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
// 判断是否为素数
bool is_prime(int n) {
if (n <= 1) return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return false;
}
return true;
}
// 检查回文数
bool is_palindrome(int num) {
char str[10];
sprintf(str, "%d", num);
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1])
return false;
}
return true;
}
// 输出回文素数
void print_palindromic_primes() {
for (int i = 101; i <= 999; i++) {
if (is_prime(i) && is_palindrome(i))
printf("%d ", i);
}
}
int main() {
print_palindromic_primes();
return 0;
}
```
当你运行这个程序,它将输出101、131、151、181、191和199这几个100-1000之间的回文素数。
阅读全文