题目描述
一个正整数,如果从左向 右读(称之为正序数)和从右向左读(称之为倒序数)是一样的,这样的数就叫回文数。输入两个整数m和n(m<n),输出区间[m,n]之间的回文数。
输入
输入两个正整数m和n,输入保证m<n。
输出
按从小到大的顺序,输出m到n之间的回文数,每个数后面有一个空格。
样例输入 Copy
100 200
样例输出 Copy
101 111 121 131 141 151 161 171 181 191
以下是c++代码:
#include <iostream>
using namespace std;
#include <iomanip>
#include<math.h>
int Hws(int n1,int n2);
int main()
{
int m1,m2;
cin >> m1 >> m2;
int m3;
m3=Hws(m1,m2);
// cout << m3 <<endl;
return 0;
}
int Hws(int n1,int n2)
{
for(int i=n1;i<=n2;i++)
{
int ii=i;
int i1,i2=-1,i3=1,i4,i7=1;
int s=0;
for(i1=1;i/i1!=0;i1*=10,i2++)
{
}
i4=i2;
for(;i2>=0;i2--)
{
for(int i5=i2;i5>0;i5--)
{
i3=i3*10;
}
for(int i6=i4-i2;i6>0;i6--)
{
i7=i7*10;
}
s=s+ (ii/i3)*i7;
ii=ii%i3;
i3=1;
i7=1;
}
if(s==i)
{
cout << s << endl;
}
}
return 0;
}