Python 數字黑洞

2021-08-19 03:38:02 字數 658 閱讀 1321

學校熬了兩個星期,在校時看到某本數學教材裡講了乙個關於數字黑洞的演算法,任何一串非負整數,有限的步驟處理後,終將得到123這三個數字。

例如:12345,這串數字有2個偶數,3個奇數,共5個數。於是按順序排列成235,這串數字有1個偶數,2個奇數,共3個數。於是我們得到了123。

再如:20021025,得到628,得到303,得到123。

再如:0,得到101,得到123。

筆者最近正好剛接觸了python語言,於是便產生了用程式來計算的想法。

number = input("輸入任意的非負整數:a(1) = ")

i = 1

while

number != "123":

i += 1

a , b = 0 , len(number)

for n in

number:

a = a + (eval(n) % 2)

number = str(b - a) + str(a) + str(b)

print("a(" + str(i) + ") = " + number + "")

1019 數字黑洞 python

1019 數字黑洞 20 分 給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的6174,這個神奇的數字也叫 kaprekar 常數。例如,我...

pat 1019 數字黑洞 python

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...

1019 數字黑洞

給定任乙個各位數字不完全相同的4位正整數,如果我們先把4個數字按非遞增排序,再按非遞減排序,然後用第1個數字減第2個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的6174,這個神奇的數字也叫kaprekar常數。例如,我們從6767開始,將得到 7766 6677 10...