把一个数的尾数移到首位,新数是原数的2倍,求原数

2024-12-18 02:45:10
推荐回答(5个)
回答1:

虽然折腾我了,但方法还是一样,不懂可以先看下面的解法,现在先以9开始列3的倍数
9310344827586206896551724137
3103448275862068965517241379(28位数)
1100001000011000000101010001

其中打1的列就是能整除的“节点”
那么无论以1~9的几开头,都能得到一个28位数,当然也能更多,得到28*N位数

最小的自然数是以1开始的1034482758620689655172413793!

—————————————————————
以下是2的倍数:
假设最后一位数4,先提上来作第一位,因为4/2=2
那么我们写:
42
2
又2/2=1,那么我们写
421
21
1除2不能除,把它当10来看
42105
2105
5除2得2余1
421052
21052
因为余1,所以最后的2得当作12算,12/2=6
4210526
210526
……
依次推算很快得到
421052631578947368
210526315789473684(既一楼答案,18位数)
必须算到4且能整除,就可以视为一个答案了。当然你无限推下去可以找到无限多个答案。
有了第一次艰难计算,后面就轻松多了,因为这是一个循环,你无限推下去还是这些数字重复。
如以9开始:
947368
473684
这一部分与上面的计算完全一样,可以直接借用。继续计算发现又与上面开头21052部分一模一样,那么也可以借用,等于是一个循环
947368421052631578
473684210526315789(答案之一,一整个循环,18位数)
其余一样:
842105263157894736
421052631578947368(答案之一,一整个循环,18位数)
736842105263157894
368421052631578947(答案之一,一整个循环,18位数)
……
最后你将发现,以9~1开头,都只能得到一整个循环,最小的18位数!
最小的解是自然是以1开始的105263157894736842!

回答2:

此题无解
设此数尾数为y,前面数为x,则此数为10x+y
由题意可知,2(10x+y)=10^n*y+x (现在不知道这是个几位数)
化简得:19x=(10^n-2)y ==>x=(10^n-2)/19*y
又因为,x,y均为正整数,所以y=19(y是尾数,舍去)或10^n-2/19 能整除

回答3:

老大,我的一亿了都没有,cpu crazying
不过算法很简单
18位的
例如:
105263157894736842×2=
210526315789473684.(末尾为2的)
仔细观察这会形成一个循环。
当210526315789473684的最高位2×2=4,4×2=8,8×2=(1)6进位...
如此,末尾为2,3,4,5,6,7,8,9的都行,且都为18位的

回答4:

貌似最近这道题问了不下四遍了,去前面挖坟吧...

回答5:

LS打字辛苦了.......