【题目描述】
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如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; }
返回目录:题解目录