题目描述
因为151即是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151 号是回文质数。
写一个程序来找出范围[a,b](5 <= a < b <= 100,000,000)间的所有回文质数;
输入
第 1 行: 二个整数 a 和 b .
输出
输出一个回文质数的列表,一行一个。
样例输入
5 500
样例输出
5 7 11 101 131 151 181 191 313 353 373 383
从没见过如此淼题
又是模拟,还是那句话:注意边界
#include <bits/stdc++.h>
using namespace std;
int zhishu(int n)
{
for (int i = 2; i <= sqrt(n); i++)
if (n % i == 0)
return 0;
return 1;
}
int main()
{
freopen("pprime.in", "r", stdin);
freopen("pprime.out", "w", stdout);
int a, b;
cin >> a >> b;
for (int i = a; i <= b; i++)
{
if (zhishu(i))
{
int m = i, k = 0;
while (m != 0)
{
k = k * 10 + m % 10;
m /= 10;
}
if (k == i)//回文
cout << i << endl;
}
}
return 0;
}