/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:first.cpp
*作者:刘天恩
*完成时间:2014年11月11号
*版本号:v1.0
*问题描述:输出1000以内的所有回文素数。
*输入描述:无
*程序输出:输出1000以内的所有回文素数
*/
#include <iostream>
#include<cmath>
using namespace std;
bool isPalindrome(int);
bool isPrimer(int);
int main()
{
int a;
cout<<"1000以内的所有回文素数:"<<endl;
for(a=2;a<=1000;a++)
{
if(isPalindrome(a))
if(isPrimer(a))
cout<<a<<" ";
}
return 0;
}
bool isPalindrome(int n)
{
int x=0,r,a;
bool z=false;
a=n;
while(n>0)
{
r=n%10;
x=x*10+r;
n=n/10;
}
if(a==x)
z=true;
return z;
}
bool isPrimer(int n)
{
bool z=true;
for(int a=2;a<=sqrt(n);a++)
if(n%a==0)
z=false;
return z;
}
运行结果: