设n是一个四位数它的9倍数恰好是其反序数,编程求n
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/08 15:58:06
四位数乘九后仍得四位数,故第一个因数的首位(即A)为1(即A=1).积的首位(即D)为9(即D=9).接下来考虑百位(即B),B不可能大于2,否则会向前一位进位,积变为五位数.B只可能为0.算式变为1
一个四位数的9倍仍是四位数,则这个数首位必为1,且小于等于1111,反序数的末位数就为1,这个数的末位数为9,这样这个数在1009到1111之间.答案是1089*9=9801
设N是一个四位数,它的9倍恰好是其反序数,求N.反序数就是将整数的数字倒过来形成的整数.例如:1234的反序数是4321.*问题分析与算法设计可设整数N的千、百、十、个位为i、j、k、l,其取值均为0
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
1.个位=05+6+0=1111+7=18所以是57602.个位是45+6+4=1515+3=18所以这个数是53643.个位是85+6+8=1919+8=27所以这个数是5868.
∵三位数中最大的4的倍数是996,又∵四位数能被9整除的条件是4个位置上的数字之和是9的倍数,∴9+9+6=24,∴要是9的倍数,最后的一位就只能是3.故选C.
abcd*9=dcba,四位数乘9不进位,显然a=1、那么d=9;再看百位,百位也没有进位,易得b=0,c=8.所以,原四位数为1089
除以9的余数最大是8也就是这个四位数各位平方和最大是8,所以4个位置上没有超过3的数字最大是2,除以9的余数就是各位置数字和除以9的余数,所以各位数字和等于各位数字平方和,每个数字都小于或等于它的平方
一楼的真猥琐3853850
int getOrdNum(int num){int res = 0;res += (num % 10)&
1107=123*(7+1+1)
搞定,1089*9=9801
设此四位数从高到低,各位数字分别是A、B、C、D当A+B+C+D能被9整除,A+B+C+D=9M(M属于非负整数)则此四位数数值为1000A+100B+10C+D=999A+99B+9C+(A+B+C
9倍后还是们数,第一位肯定是1,最后一位肯定是9同理第二位只能是0,1(要是2的话,9位就大于10000了)当第二位=0时,刚好第三位=8当第二位=1时,第三位就无解了所以这个数为:1089
令原来的四位数是abcd,那么新的四位数就是dcba;abcd×9=dcba,由于乘积是四位数,那么a×9没有进位,所以a=1,9×1=9所以d=9;百位上乘上9也没有进位,所以百位上的数字是0;b=
#includeusingnamespacestd;intmain(){intN;for(N=1000;N{intn=N/1000+(N%1000/100)*10+(N%1000%100/10)*10