2704: 回文素数
/* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作者:陈丹妮
* 完成日期:2015年 5 月 26 日
* 版 本 号:v1.0
*/
Description
输入一个数n,输出n以内所有的回文素数。回文素数,即既是素数,又是回文数,从前往后、从后往前看一个样。例373。
Input
大于10的正整数n
Output
n以内所有的回文素数
Sample Input
500
Sample Output
2 3 5 7 11 101 131 151 181 191 313 353 373 383
#include <iostream>
using namespace std;
bool ispalidrome(int);
int main()
{
int n,i,j;
cin>>n;
for(i=1; i<n; i++)
{
for(j=2; j<i; j++)
{
if(i%j==0)
break;
}
if(j==i&&ispalidrome(i))
{
cout<<i<<" ";
}
}
return 0;
}
bool ispalidrome(int x)
{
int t=0,r,m=x;
while(m>0)
{
r=m%10;
t=t*10+r;
m/=10;
}
return (t==x);
}
学习心得:刚开始写到道题时,觉得很简单,就用几个循环语句就行了,可是当自己写的时候,发现要用到很多的循环,还容易出错,于是听了别人的提示,用函数写简单,
不复杂,一看懂。所以函数是个很好用的解决问题的办法。继续努力!