/*
*Copyright (c) 2014,烟台大学计算机学院
*All rights reserved.
*文件名称: test.cpp
*作 者:满星辰
*完成日期:2014年11月9日
*版本号:v1.0
*
*问题描述:输出1000以内所有回文数
*输入描述: 无输入
*程序输出:输出1000以内所有回文数
*/
#include <iostream>
#include <cmath>
using namespace std;
int reverse(int x);
bool isPalindrome(int x);
int main()
{
for(int m=0; m<=1000; ++m)
{
if(isPalindrome(m))
{
cout<<m<<'\t';
}
}
return 0;
}
bool isPalindrome(int x)
{
bool Palindrome=false;
if(reverse(x)==x)
Palindrome=true;
return Palindrome;
}
int reverse(int x)
{
int m=0;
while(x>0)
{
m=m*10+x%10;
x=x/10;
}
return m;
}
运行结果:
学习心得:
回文数要从0开始。。。。。。
我总觉得应该还有别的简单的方法。。。。
这回文数是有规律的。。。。。。。
一位数有9个,两位数的有9个。。。。。。。。
也许可以提高效率?