【题目描述】
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。试求出所有二位绝对素数。
【输入】
(无)
【输出】
所有二位绝对素数(由小到大,一个数一行)。
【输入样例】
(无)
【输出样例】
(无)
【源程序】
#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);
int main()
{
int i;
for(i=10; i<=99; i++) //从10枚举到99
if( judge(i) && judge((i%10)*10+(i/10)) )//分别判断i以及i变换后是否是素数
cout<<i<<endl;
return 0;
}
bool judge(int x)
{
int i=2;
while( i<=floor(sqrt(x)) && (x%i!=0) )
i++;
if(i>floor(sqrt(x)))
return true;
return false;
}