/*
*Copyright (c) 2014, 烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:陈栋梁
*完成日期:2014年 11 月 7 日
*版本号:v1.0
*
*问题描述:
*输入描述:
*输出描述:
*/
#include<iostream>
#include<cmath>
using namespace std;
bool ispalindrome(int);
bool isPrime(int);
int main()
{
int n,m;
cin>>n;
for(m=2; m<=n; ++m)
{
if(ispalindrome(m)&&isPrime(m))
cout<<m<<" ";
}
return 0;
}
bool isPrime(int n)
{
bool prime=true;
int k=int(sqrt(n));
for(int i=2; i<=k; i++)
{
if(n%i==0)
{
prime=false;
break;
}
}
return prime;
}
bool ispalindrome(int x)
{
bool ispalindrome=false;
int r=0,m;
m=x;
while (x>0)
{
r=r*10+x%10;
x=x/10;
}
if(r==m)
ispalindrome=true;
return ispalindrome;
}
运行结果: