绝对素数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 510 通过数: 309
【题目描述】
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。试求出所有二位绝对素数。
【输入】
(无)
【输出】
所有二位绝对素数(由小到大,一个数一行)。
【输入样例】
(无)
【输出样例】
(无)
【来源】
【代码】
#include
#include
#include
using namespace std;
bool ap(int n)//由题意得知定义一个bool类型的函数
{
for(int i=2;i<=sqrt(n);i++)//从2到sqrt(n)检查n是否有因子
{
if(n%i==0)//如果这个两位数有因子,则输出false,终止循环
{
return false;
break;
}
else
continue;
}
return true;//如果没有因子,则跳出循环,输出true,说明n是素数
}
int main()
{
int m;
for(int j=10;j<=99;j++)
{
m=(j%10)*10+j/10;
if(ap(j)&&ap(m))//如果这个两位数和它位置置换后的数都是素数,则输出这个绝对素数
cout<
<
【说明】
vc6.0运行成功,提交通过