问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:吴胜男
*完成日期:2014年11月10日
*版本号:v1.0
*
*问题描述:若一个素数的反序数仍为素数,则称它为可逆素数。求1000以内的所有可逆素数。
*输入描述:略
*程序输出:1000以内的所有可逆素数。
*/
#include<iostream>
using namespace std;
int reverse(int);
bool isPrimer(int);
int main()
{
cout<<"1000以内的所有可逆素数为:";
int m;
for(m=1; m<=1000; ++m)
{
if(reverse(m)&&isPrimer(m))
cout<<m<<" ";
}
return 0;
}
int reverse(int x) //函数只管求值,不管输出。输出由main函数完成
{
int r,y;
y=0;
while(x>0)
{
r=x%10;
y=y*10+r;
x=x/10;
}
return y;
}
bool isPrimer(int n)
{
int i=2;
while(n%i!=0)
{
++i;
}
if(n==i)
return true;
else
return false;
}
运行结果:
知识点总结:学会函数的调用,问题就是计算时间特别长。
学习心得:(4)中的题让我们形成一种思想,一个模块一个模块的解决大问题。