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