10301是个5位的素数。它有个特点,把数字倒过来还是它本身,具有这样特征的素数,我们称之为:回文素数。
10501
10601
11311
这些都是5位的回文素数(回文质数)。
请你计算一下,像这样的5位数的回文素数,一共有多少个?
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int fun(int num);
int main(void) {
int m = 0;
for (int i = 10000; i < 99999; ++i) {
if (fun(i)) {
//如果是素数,判断对称
if (i / 10000 == i % 10 && ((i / 1000) % 10) == ((i % 100) / 10)) {
++m;
}
}
}
printf("%d\n", m);//93
return 0;
}
//判断是否为素数
int fun(int num) {
for (int i = 2; i < num; ++i) {
if (num % i == 0) {
return 0;
}
}
return 1;
}









网友评论