/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称: test.cpp
*作 者:陈丹
*完成日期:2014年11月6日
*版本号:v1.0
*
*问题描述:编制main函数,调用函数,输出1000以内的所有回文素数
*输入描述: 无输入
*程序输出:输出1000以内所有回文素数
*/
#include <iostream>
#include <cmath>
using namespace std;
int reverse(int x);
bool isprimer(int m);
bool isPalindrome(int x);
int main()
{
for(int m=2; m<=1000; ++m)
{
if(isPalindrome(m)&&isprimer(m))
{
cout<<m<<' ';
}
}
return 0;
}
bool isPalindrome(int x)
{
bool Palindrome=false;
if(reverse(x)==x)
Palindrome=true;
return Palindrome;
}
int reverse(int x)
{
int m=0;
while(x>0)
{
m=m*10+x%10;
x=x/10;
}
return m;
}
bool isprimer(int n)
{
bool primer=true;
int k=int(sqrt(n));
for(int i=2;i<=k;++i)
{
if(n%i==0)
{
primer=false;
break;
}
}return primer;
}
运行结果