题目描述
设N是一个四位数,它的9倍恰好是其反序数(例如:1234的反序数是4321)
求N的值
输入描述:
程序无任何输入数据。
输出描述:
输出题目要求的四位数,如果结果有多组,则每组结果之间以回车隔开。
输入
无
输出
无
思路及特别提示
tip1:整体思路:从1001到9999逐个数字进行遍历,对每个数字 X 进行如下操作:先对数字进行处理得到其反(逆)序数 Y,即abcd变成dcba,然后对比Y==(X9)是否满足,如果满足,则对X进行输出后换行,如果不满足,则不对其进行任何操作,直接进行下一个数字的判断。
tip2:如何得到反(逆)序数:
while(pre){
num=num10+(pre%10);
pre/=10;
}
代码
#include<iostream>
using namespace std;
int main(){
int i,pre=0;
for(i=1001;i<10000;i++){
int num=0;
pre=i;
while(pre){
num=num*10+(pre%10);
pre/=10;
}
if(num==(i*9)){
cout<<i<<endl;
}
}
return 0;
}