题目描述
给你一个区间,找出里面的回文质数。
样例
输入样例:
5 500
输出样例:
5
7
11
101
131
151
181
191
313
353
373
383
C++ 代码
先判断它是不是回文数.
bool w(int x)
{
int tx = x,y = 0;
while(tx)
{
y*=10;
y +=tx%10;
tx/=10;
}
if(y==x) return 1;
return 0;
}
再判断它是不是质数.
bool n(int x)
{
if(x<2) return 0;
for(int i = 2; i *i <=x;i ++ )
{
if(x%i==0) return 0;
}
return 1;
}
完整代码:
`````
include [HTML_REMOVED]
using namespace std;
bool n(int x)
{
if(x<2) return 0;
for(int i = 2; i *i <=x;i )
{
if(x%i==0) return 0;
}
return 1;
}
bool w(int x)
{
int tx = x,y = 0;
while(tx)
{
y*=10;
y +=tx%10;
tx/=10;
}
if(y==x) return 1;
return 0;
}
int main()
{
long long a,b;
scanf(“%lld%lld”,&a,&b);
if(b > 10000000) b=10000000;
for(int i = a; i <= b;i )
{
if(w(i)&&n(i))
{
printf(“%d\n”, i);
}
}
return 0;
}
```