python-驗證6174猜想


【題目描述】1955年,卡普耶卡(D.R.Kaprekar)對4位數字進行了研究,發現一個規律:對任意各位數字不相同的4位數,使用各位數字能組成的最大數減去能組成的最小數,對得到的差重復這個操作,最終會得到6174這個數字,並且這個操作最多不會超過7次。請編寫程序驗證這個猜想。

【練習要求】請給出源代碼程序和運行測試結果,源代碼程序要求添加必要的注釋。

【輸入格式】在一行中輸入一個任意各位數字不相同的4位數。

【輸出格式】驗證6174猜想,輸出過程中計算得到的各數,數據間以空格為間隔。

【輸入樣例】2694

【輸出樣例】2694 7173 6354 3087 8352 6174

 

代碼:

num = input()

data = [num]


def get6147(num):
    max = int("".join(sorted(list(num), reverse=True)))
    min = int("".join(sorted(list(num))))
    difference = max - min
    data.append(str(difference))
    if difference != 6174:
        get6147(str(difference))


get6147(num)
print(" ".join(data))

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM