【问题描述】
所谓回文数是指具有如下性质的整数:一个整数,当它的各位数字逆序排列,形成的整数与原整数相同,这样的数称为回文数。例如,素数11是回文数,373也是回文数,因为其各位数字对换位置后仍然为11、373。编写函数int Loop(int x),判断一个整数x是否为回文数,如果x是回文数则返回1(或者true),否则返回0(或者false)。编写程序,接收控制台输入的两个整数a,b。调用Loop函数输出a到b之间(包括a和b)的所有为偶数的回文数。
【输入形式】控制台输入两个整数a和b(必有a<b),以空格分隔。
【输出形式】输出有若干行,每行有一个a和b之间的回文数。输出各行上的数字不重复,且从小至大依次按序输出。
【样例输入】3 120
【样例输出】
4
6
8
22
44
66
88
【样例说明】输入整数a=3,b=120,要求输出所有[3, 120]之间的为偶数的回文数。按升序分行输出所有符合题意的整数。
【评分标准】结果完全正确得10分,每个测试点2分。
本题的核心就是将一个数倒序
#include<bits/stdc++.h>
using namespace std;
int fanxu(int x)
{
int y;
int sum = 0;
while (x>0)
{
y = x % 10;
x = x / 10;
sum = sum * 10 + y;
}
return sum;
}
void Loop(int a,int b)
{
for (int i = a; i <= b; i++)
{
if ((i == fanxu(i)) && (i % 2 == 0))
cout << i << endl;
}
}
int main()
{
int x, y;
cin >> x >> y;
Loop(x, y);
return 0;
}