问题及代码:
/*
*copyright (c) 2014,烟台大学计算机学院
*all rights reserved.
*文 件 名 : 回文素数.cpp
*作 者 :白云飞
*完成日期 :2014年11月8号
*版 本 号 :v1.0
*
*问题描述 :输入一个数n,输出n以内所有的回文素数
*输入描述 :一个正整数n
*程序输出 :输出n以内所有的回文素数
*/
#include<iostream>
using namespace std;
bool ispalindrome(int);
bool isprimer(int);//自定义函数
int main()
{
int n,i;//声明变量
cin>>n;
for(i=2; i<=n&&n>10; i++)//循环语句
{
if(ispalindrome(i)&&isprimer(i))//if语句进行判断
cout<<i<<" ";//输出i的值
else cout<<"";
}
return 0;
}
bool ispalindrome(int b)//调用自定义函数
{
int r,m=0,h=b;//声明变量
while (b>0)//循环语句
{
r=b%10;
m=m*10+r;
b=b/10;
}
if (m==h)//if语句进行判断
m=1;
else m=0;
return m;
}
bool isprimer(int b)//调用自定义函数
{
int i;//声明变量
for(i=2; i<b; i++)//循环语句
{
if( b%i==0)//if语句进行判断
return 0;
}
return 1;
}
运行结果:
学习心得:
第一次运用bool ispalindrome()和bool isprimer()函数,将两个函数在main函数中进行判断,再输出最后的值,是一次很好的体验。实践出真知,现在我才真正了解了bool型的特点。