Python 每日一題 156 神奇的6174

2021-08-18 17:55:37 字數 765 閱讀 1776

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...