151 既是一个质数,又是一个回文数,因此它可以被称为回文质数。
现在给定两个整数 a,b ,请你找出在 [a,b] 范围内的所有回文质数。
输入格式
共一行,包含两个整数 a,b。
输出格式
按照从小到大的顺序输出所求范围内的所有回文质数。
每个数占一行。
数据范围
5≤a<b≤108
输入样例:
5 500
输出样例:
5
7
11
101
131
151
181
191
313
353
373
383
代码:
#include<iostream>
using namespace std;
int main()
{
int i,j,s=0,a,b,t;
cin>>a>>b;
for(i=a;i<=b;i++) //a到b中找数
{
t=i; //防止i的值改变,在下一次循环时也可以重新赋值t
while(t!=0) //将i的值倒序
{
s=s*10+t%10;
t=t/10;
}
if(i==s) //判定是不是回文数
{
for(j=2;j*j<=i;j++) //判定是不是质数
{
if(i%j==0)
{
break;
}
}
if(j*j>i) //如果j经历了完整的循环那么它就是质数
{
cout<<i<<endl;
}
}
s=0; //s回归初始值
}
return 0;
}