若整数i从左向右读与从右向左读是相同的数,且i为素数,此时称其 为回文素数。所谓素数是指只能由1和它本身整除的整数。 对于偶数位的整数,只有11是回文素数。也就是说,除了11以外, 所有的2位整数都不是回文素数。所有的4位整数、6位整数、8位整数中 也不存在回文素数。但是三位回文素数有很多,比如:101、131、151、 181、191、313等。本案例要求通过编程求出所有小于1000的回文素数。用c写
时间: 2023-05-30 18:01:40 浏览: 77
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
5星 · 资源好评率100%
#include <stdio.h>
int is_prime(int num) { // 判断是否为素数
if (num <= 1) {
return 0;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int is_palindrome(int num) { // 判断是否为回文数
int temp = num, reverse_num = 0;
while (temp) {
reverse_num = reverse_num * 10 + temp % 10;
temp /= 10;
}
return num == reverse_num;
}
int main() {
for (int i = 1; i < 1000; i++) {
if (is_palindrome(i) && is_prime(i)) {
printf("%d\n", i);
}
}
return 0;
}
阅读全文