给你一个四位数N,它的9倍恰好是其反序数
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/06 03:53:16
4*33*(a+b+c+d)=132(a+b+c+d)=1000a+100b+10c+d此时只能抓住个位数来求解,d只有偶数2,4,6,8,0d=0-a+B+C=10--132o不可202640不可d
四位数乘九后仍得四位数,故第一个因数的首位(即A)为1(即A=1).积的首位(即D)为9(即D=9).接下来考虑百位(即B),B不可能大于2,否则会向前一位进位,积变为五位数.B只可能为0.算式变为1
设N是一个四位数,它的9倍恰好是其反序数,求N.反序数就是将整数的数字倒过来形成的整数.例如:1234的反序数是4321.*问题分析与算法设计可设整数N的千、百、十、个位为i、j、k、l,其取值均为0
1107好吧我是凑出来的凑的第一个就是123*9=1104这是第一个四位数再想了一想说了是生日那么只能是从1000到1231之间了这之间只有1107和1230那么答案就显而易见了
设N=1000a+100b+10c+d=4*33*(a+b+c+d)因此N为3的倍数,所以3|a+b+c+d因此N为9的倍数,所以9|a+b+c+dN为4的倍数,所以10c+d能被4整除N为11倍数,
n=a+10b+100c+1000dn/4=(a+10b)+(a+10c)+(a+10d)+(b+10a)+(b+10c)+(b+10d)+……+(d+10c)化简为n=132(a+b+c+d)接下来
1089*9=9801注意一个四位数*9后还是个四位数,所以第一位一定是1,如果B不是0,最小就是1209,*9后大于10000,所以只能是10C9,这样很好得出C=8
n是1089;答:n是1089.
设三位数为abcd,因为,四位数乘以9后,仍然是四位数,所以a=1,d=99*(1000a+100b+10c+d)=1000d+100c+10b+1a+9000+900b+90c+81=9000+10
for(intm=100;m
abcd*9=dcba,四位数乘9不进位,显然a=1、那么d=9;再看百位,百位也没有进位,易得b=0,c=8.所以,原四位数为1089
一楼的真猥琐3853850
int getOrdNum(int num){int res = 0;res += (num % 10)&
123X9=1107这个四位数是1107
1107=123*(7+1+1)
搞定,1089*9=9801
123X9=1107这个四位数是1107再问:为什么要乘9?再答:由题“这个数恰好是它的各位数字和的123倍”,可知这个数必为123的整数倍。123=3×41,故这个数为3的倍数。公理“一个整数能被3
9倍后还是们数,第一位肯定是1,最后一位肯定是9同理第二位只能是0,1(要是2的话,9位就大于10000了)当第二位=0时,刚好第三位=8当第二位=1时,第三位就无解了所以这个数为:1089
#includeusingnamespacestd;intmain(){intN;for(N=1000;N{intn=N/1000+(N%1000/100)*10+(N%1000%100/10)*10