#include <iostream>
#include<cmath>
using namespace std;
int f1(int x);
bool f2(int x);
bool f3(int x);
int main()
{
int i,x,n;
cin>>n;
for(x=2;x<=n;x++)
{
i=f2(x)+f3(x);
if(i==2)
{
cout<<x<<" ";
}
}
return 0;
}
int f1(int x)//得到一个数的逆序数
{
int r,m=0;
while(x!=0)
{
r=x%10;
m=m*10+r;
x=x/10;
}
return (m);
}
bool f2(int x)//判断是否是回文数
{
if(x==f1(x))
return true;
else
return false;
}
bool f3(int n)//判断是否是素数
{
int i;
for (i=2;i<=sqrt(n);++i)
if (n%i==0)
return false;
if (i>sqrt(n))
return true;
}
运行结果:
<img src="https://img-blog.csdn.net/20141118224338201" alt="" />