python-验证6174猜想

【题目描述】1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7次。请编写程序验证这个猜想。

【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。

【输入格式】在一行中输入一个任意各位数字不相同的4位数。

【输出格式】验证6174猜想,输出过程中计算得到的各数,数据间以空格为间隔。

【输入样例】2694

【输出样例】2694 7173 6354 3087 8352 6174

 

代码:

复制代码
num = input()

data = [num]


def get6147(num):
    max = int("".join(sorted(list(num), reverse=True)))
    min = int("".join(sorted(list(num))))
    difference = max - min
    data.append(str(difference))
    if difference != 6174:
        get6147(str(difference))


get6147(num)
print(" ".join(data))
复制代码

 

 

posted @   睡觉不困  阅读(802)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示