卡普雷卡尔黑洞:验证有趣的数字现象
def kaprekar(num): if num == 0: return 0 digits = [] while num > 0: digits.append(num % 10) num //= 10 digits.sort() min_num = 0 for digit in digits: min_num = min_num * 10 + digit max_num = 0 for digit in reversed(digits): max_num = max_num * 10 + digit result = max_num - min_num if result == 0: return 0 else: return kaprekar(result) + 1
num = int(input('请输入一个4位数(除了4个数字都相同的数):')) if num // 1111 == 1: print('输入错误') else: result = kaprekar(num) print('归敛结果为:6174,经过{}次卡普雷卡尔运算得到'.format(result))
原文地址: https://www.cveoy.top/t/topic/oJVg 著作权归作者所有。请勿转载和采集!