</pre><pre name="code" class="cpp">/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:C++18.cpp
*作 者:王一锟
*完成日期:2014年11月6日
*版 本 号:v1.0
*
*问题描述:求回文素数
*输入描述: 一个整数
*输出描述:1000以内回文素数
*/
#include <iostream>
using namespace std;
bool isPrimer(int);
bool isPalindrome(int);
int main()
{
int m,n;
cin>>m;
if(m>=2)
for(n=2; n<=m; ++n)
{
if(isPalindrome(n)&&isPrimer(n))
cout<<n<<" ";
}
}
bool isPrimer(int n)
{
int i=2;
while(n%i!=0)
++i;
if(n==i)
return true;
else
return false;
}
bool isPalindrome(int m)
{
int t=0,r,i;
i=m;
while(m>0)
{
r=m%10;
t=r+t*10;
m=m/10;
}
if(t==i)
return true;
else
return false;
}
输出结果:
:
用了自定义函数感觉思路清晰多了,由整体到细节的处理,可以把一个大的问题分解成无数的小问题。