题目:
蒜头君对既是素数又是回文的数特别感兴趣。比如说 151 既是素数又是个回文数。回文数是指从左到右读和从右到左读都一样的数。
现在小王想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟 b 之间(包含 a 和 b)满足条件的数。
输入格式
输入 a 和 b (2 ≤ a < b ≤ 100,000,000)。
输出格式
按从小到大输出 a, b 之间所有满足条件的素数回文数,一个数占一行。
输出时每行末尾的多余空格,不影响答案正确性
样例输入
2 200
样例输出
2 3 5 7 11 101 131 151 181 191
提醒:本文只对素数做出解释,回文代码大家可以自己模拟代码结果。
#include <iostream>
using namespace std;
int a, b;
int main() {
cin >> a >> b;
for (int i = a; i <= b; i ++) {
int x, y;
y = 0, x = i;
while (x > y) {
y = y * 10 + x % 10;
x /= 10;
}
if (x == y || x == y / 10) { // while 到此处是回文数的判断
int find = 0;
for (int j = 2; j * j <= i; j ++) {
if (i % j == 0) {
find = 1; //