Description
如果一个数从左边读和右边读都是同一个数,就称为回文数, 例如686就是一个回文数。编程求10到1000内所有的既是回文数同时又是素数的自然数.
Format
Input
无
Output
若干个数 每行一个
Samples
输入数据 1
无
输出数据 1
无
代码如下:
#include<bits/stdc++.h>
using namespace std;
bool Prime(int n)
{ int s=0;
if(n==1) s=1;
for(int i=1;i*i<=n;i++)
{
if(n%i==0) s+=2;
}
if(s==2) return true;
else return false;
}
bool SwapPrime(int a)
{
int a1=0;
int s=a;
while(a!=0)
{
a1=10*a1+a%10;
a/=10;
}
if(a1==s) return true;
else return false;
}
int main()
{
for(int i=10;i<=1000;i++)
{
if(Prime(i))
{
if(SwapPrime(i))
{
cout<<i<<endl;
}
}
}
return 0;
}