【題目描述】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))