题目
题目描述
因为 151151 既是一个质数又是一个回文数(从左到右和从右到左是看一样的),所以 151151 是回文质数。
写一个程序来找出范围 [a,b] (5 \le a < b \le 100,000,000)[a,b](5≤a<b≤100,000,000)(一亿)间的所有回文质数。
输入格式
第一行输入两个正整数 aa 和 bb。
输出格式
输出一个回文质数的列表,一行一个。
本人66分TLE代码
#include <bits/stdc++.h>
using namespace std;
int a,b;
bool isprime(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return false;
}
}
return true;
}
bool ispn(int n)
{
int x=0,s=n;
while(s>0)
{
x=x*10+s%10;
s/=10;
}
if(x==n)
{
return true;
}else
{
return false;
}
}
int main()
{
cin>>a>>b;
for(int i=a;i<=b;i++)
{
if(i%2==0)
{
continue;
}else if(isprime(i)&&ispn(i))
{
cout<<i<<endl;
}
}
return 0;
}