1153:绝对素数
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 28187 通过数: 16570
【题目描述】
如果一个自然数是素数,且它的数字位置经过对换后仍为素数,则称为绝对素数,例如13。试求出所有二位绝对素数。
【输入】
(无)
【输出】
所有二位绝对素数(由小到大,一个数一行)。
【输入样例】
(无)
【输出样例】
(无)
代码如下:
#include<bits/stdc++.h>
using namespace std;
bool judge(int x);
int main()
{
int i;
for(i=10;i<=99;i++)
{
if(judge(i)&&judge((i%10)*10+(i/10)))
{
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;
}
这段代码实现了一个寻找两位绝对素数的程序。通过遍历10到99之间的所有数字,判断每个数及其数字交换后的数是否都是素数,如果是,则输出该数。素数判断函数`judge`通过检查数字能否被小于其平方根的整数整除来实现。
701

被折叠的 条评论
为什么被折叠?



