2024.5.9(周四)总结

【题目描述】1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7次。请编写程序验证这个猜想。
【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。
【输入格式】在一行中输入一个任意各位数字不相同的4位数。
【输出格式】验证6174猜想,输出过程中计算得到的各数,数据间以空格为间隔。
【输入样例】2694
【输出样例】2694 7173 6354 3087 8352 6174
def Min_Number(a):
    a=str(a)
    arr=[]
    for i in range(0,4):
     arr.append(a[i])
    arr.sort()
    return int(''.join(arr))
def Max_Number(a):
    a=str(a)
    arr = []
    for i in range(0, 4):
        arr.append(a[i])
    arr.sort(reverse=True)
    return int(''.join(arr))
a=input()
while (int(a)!=6174):
    a=Max_Number(a)-Min_Number(a)
    print(a,end=" ")

 

posted @ 2024-05-29 09:02  记得关月亮  阅读(4)  评论(0编辑  收藏  举报