问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称 :main.cpp
*作 者 :陈旭
*完成日期 :2014年11月10日
*版 本 号 :v1.0
*
*问题描述 :根据所给的数的所满足的条件,输出10000以内的所有可逆素数
*输入描述 :输入数所满足的条件
*程序输出 :输出10000以内的所有可逆素数
*/
#include <iostream>
using namespace std;
bool isPrimer(int);
int reverse(int);
int main()
{
int i=1,j=10000;
while (i<=j)
{
i++;
if(isPrimer(i)&&reverse(i))
cout<<i<<" ";
}
return 0;
}
bool isPrimer(int n)
{
int h,i;
bool isPrimer=true;
for(i=2; i<n; ++i)
{
h=n%i;
if(h==0)
{
isPrimer=false;
break;
}
}
return isPrimer;
}
int reverse(int x)
{
int m=0,r;
while(x>0)
{
r=x%10;
m=m*10+r;
x=x/10;
}
return m;
}
运行结果:
知识点总结:
通过这个程序的编写让我们更加熟练的掌握一个程序多种函数的组合运用问题,对以后更复杂程序的认识梳理有很大的作用。
学习心得:
渐渐的,开始熟练这种方式的问题。不过细心问题还是得注意,从这上面看不出来,但是比如OJ平台上,上次就是因为输出的数间空格数不对,让我头疼了好一阵呢,所以以后一定得细心。