题目描述
一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。
输入
输入两个正整数m和n,输入保证m<n。
输出
按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。
样例输入
100 200
样例输出
101 111 121 131 141 151 161 171 181 191
题解
#include<stdio.h>
int inverse(int i)
//翻转i的函数
{
int w = 0;
while (i != 0)
{
w = w * 10 + i % 10;
//每次循环使w增加一位,并获得i的最后一位
i /= 10;
//更新i的值,使i的最后一位发生变化
}
return w;
}
int main()
{
int n = 0;
int m = 0;
int flag = 0;
scanf("%d%d", &m, &n);
for (int i = m; i <= n; i++)
{
if (i == inverse(i))
//如果i等于其翻转后的值,i就是回文数
{
flag++;
printf("%d ", i);
}
}
if (flag == 0)
{
printf("no answver");
}
return 0;
}