神级反派下载:急!数字问题!

来源:百度文库 编辑:高校问答 时间:2024/04/30 15:27:27
一个N位整数,把最末位放在首位后新的数是原来的2倍,求符合条件的最小的数

要快!
可以说一下思路吗?

105263157894736842
这个是最小的

设最小的数首位为1,那么后一位的数必然是前一位的一半,即除以2。所以次高位为0,由于第二位没有除尽,所以第三位为10除以2,得5。依次类推,直到某一位数为2(1的两倍),且把前面的数都整除为止。故得到这个数。

反推可以知道,对这个18位的数循环移位,其结果可能为符合条件的数。而满足条件的数至少有18位。所以以1开头的数是满足条件的18位数中最小的。

前一位是后一位的2倍的个位数,如果该位后一位的再后一位X2大于十,那么该位要加一,一直到某位是0