枚举验证6174(python程序设计实验8)

枚举验证6174

描述:任意各位数字不同的4位数,使用4个数能组成的最大数减去最小数,对得到的差进行重复操作,最多不过7次会得到6174

1.combinations函数()简介

combinations()函数(python)

2.代码实现

(1)调用模块、函数

from string import digits
from itertools import combinations

(2)遍历所有各位数字不同的四位数

for item in combinations(digits, 4):

(3)对每一个四位数进行判断,先计数

    time = 0

(4)循环,利用排序组成最大数(reverse=True降序,reverse=False升序)

    while True:
        big = int(''.join(sorted(item, reverse=True)))

(5)同理利用排序组成最小数

		little = int(''.join(sorted(item)))

(6)做差并判断

difference = big - little
        time += 1
        if difference == 6174:  #判断
            if time > 7:
                print(item, '第{}次出现6174'.format(time))
            break
        else:
            item = str(difference)
            #继续循环

from string import digits
from itertools import combinations

for item in combinations(digits, 4):  #item: tuple[str]
#(2)遍历所有各位数字不同的四位数
    time = 0  #先计数
    while True:
        big = int(''.join(sorted(item, reverse=True)))
    #利用排序组成最大数(reverse=True降序,reverse=False升序)
        little = int(''.join(sorted(item)))
    #利用排序组成最小数
        difference = big - little
        time += 1
        if difference == 6174:  #判断
            if time > 7:
                print(item, '第{}次出现6174'.format(time))
            break
        else:
            item = str(difference)
            #继续循环

枚举验证6174(python程序设计实验8)_第1张图片

你可能感兴趣的:(实验,python)