/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称: test.cpp
*作 者:满星辰
*完成日期:2014年11月9日
*版本号:v1.0
*
*问题描述:如果一个素数的反序数仍为素数,则称它为可逆素数。
输出10000以内所有可逆素数
*输入描述: 无输入
*程序输出:输出10000以内所有可逆素数
*/
#include <iostream>
#include <cmath>
using namespace std;
int reverse(int x);
bool isprimer(int m);//判断是否为素数
bool isPaOrPri(int x);//判断反序数是否为素数
int main()
{
for(int m=2; m<=10000; ++m)
{
if(isPaOrPri(m)&&isprimer(m))
{
cout<<m<<'\t';
}
}
return 0;
}
int reverse(int x)
{
int m=0;
while(x>0)
{
m=m*10+x%10;
x=x/10;
}
return m;
}
bool isprimer(int n)
{
bool primer=true;
int k=int(sqrt(n));
for(int i=2;i<=k;++i)
{
if(n%i==0)
{
primer=false;
break;
}
}return primer;
}
bool isPaOrPri(int x)
{
第十一周项目6-回文、素数(输出10000以内的可逆素数)
最新推荐文章于 2021-05-24 07:52:08 发布
博客介绍了在第十一周的项目中,作者通过编写程序找出10000以内的回文素数,即正读反读都为素数的数字。虽然过程中使用了三个自定义函数导致代码显得有些混乱,但避免了不使用自定义函数可能带来的更大复杂性。

最低0.47元/天 解锁文章
1601





