xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 100,000,000);
- 输入
这里有许多组数据,每组包括两组数据a跟b。- 输出
对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。
#include<stdio.h> int pnumber(int x) { if (x % 2 == 1) { return 1; } return 0; } int c[10000000]; int cnumber(int y) { int count = 0; while (y) { c[count++] = y % 10; y = y / 10; } int left = 0; int right = count - 1; while (left < right) { if (c[left] == c[right]) { left++; right--; } else { return 0; } } return 1; } int main() { int a = 0; int b = 0; while (scanf("%d %d", &a, &b) != EOF) { int i = 0; for (i = a; i <= b; i++) { if (pnumber(i) == 1)//判断素数。 { if (cnumber(i) == 1)//判断回数。 { printf("%d ", i); } } } printf("\n"); } return 0; }