四位数数字游戏:揭秘最终结果 6174
我们可以通过编程来解决这个问题。首先,我们生成一个四位数,它的各个数位上的数字都不相等。
import random
def generate_number():
digits = list(range(10))
random.shuffle(digits)
number = 0
for i in range(4):
number = number * 10 + digits[i]
return number
number = generate_number()
print(number)
接下来,我们将这个四位数的各个数位上的数字组成一个最大数和一个最小数,并用最大数减去最小数得到一个新的四位数。
def get_max_min(number):
digits = [int(d) for d in str(number)]
digits.sort()
max_number = 0
min_number = 0
for i in range(4):
max_number = max_number * 10 + digits[3-i]
min_number = min_number * 10 + digits[i]
return max_number, min_number
max_number, min_number = get_max_min(number)
new_number = max_number - min_number
print(new_number)
然后,我们重复上述过程,直到得到一个固定的四位数。
while True:
max_number, min_number = get_max_min(new_number)
new_number = max_number - min_number
if new_number == 0:
break
print(new_number)
运行这段代码,我们可以得到最后的结果是6174。
原文地址: http://www.cveoy.top/t/topic/pNOu 著作权归作者所有。请勿转载和采集!