6174是個神奇的數字,乙個任意的四位正整數(全相同的除外,如1111)。將數字重新組合成乙個最大的數和最小的數相減,重複這個過程,最多七步,必得6174。
現在程式設計驗證此現象,輸入乙個每位數不完全相同的四位正整數,給出計算過程,最終得到6174,例如:
輸入2687
列印8762-2678=6084
8640-468=8172
8721-1278=7443
7443-3447=3996
9963-3699=6264
6642-2466=4176
7641-1467=6174
注意如果數字是7767則
7776-6777=999
9990-999=8991
這裡是9990-999,而不是999-999,即第乙個數如果不是4位要在後面補0到四位。
python原始碼:
num = int(input())
c = num
while c != 6174:
digits = list(str(c))
digits.sort(reverse=true)
if len(digits) < 4:
a = int(''.join(digits))
digits.reverse()
b = int(''.join(digits))
c = a - b
print("%d - %d = %d" % (a, b, c))
每日一題Python
給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。示例 給定 nums 2,7,11,15 target 9 因為 nums 0 nums 1 2 ...
每日一題力扣21 神奇的遞迴
將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。class solution def mergetwolists self,l1 listnode,l2 listnode listnode ifnot l1 return l2 終止條件,直到兩個鍊...
Python每日一題之0001 0002
第 0002 題 將 0001 題生成的 200 個啟用碼 或者優惠券 儲存到 mysql 關係型資料庫中。如下 import random import string import mysql.connector import time def rndchar return join random...