您的位置:首页 > 其它

第十一周项目6-回文、素数(输出10000以内的可逆素数)

2014-11-09 12:11 543 查看
/*
*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)
{
bool PaOrPri=false;
int n=reverse(x);
if(isprimer(n))PaOrPri=true;
return PaOrPri;
}



运行结果:



学习心得:

用了三个自定义函数,感觉有点混乱了

不过要是不用自定义,那肯定不只是混乱了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐