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))

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM