Python:每日一题 156:神奇的6174

探讨了6174数字现象,通过编程验证任意四位数(非全相同)经特定步骤后必达6174的过程。示例代码采用Python实现。
该文章已生成可运行项目,
6174是个神奇的数字,一个任意的四位正整数(全相同的除外,如1111)。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。
现在编程验证此现象,输入一个每位数不完全相同的四位正整数,给出计算过程,最终得到6174,例如:
输入2687
打印
8762-2678=6084
8640-468=8172
8721-1278=7443
7443-3447=3996
9963-3699=6264
6642-2466=4176
7641-1467=6174

注意如果数字是7767则
7776-6777=999
9990-999=8991

这里是9990-999,而不是999-999,即第一个数如果不是4位要在后面补0到四位。


Python源码:

num = int(input())
c = num
while c != 6174:
    digits = list(str(c))
    digits.sort(reverse=True)
    if len(digits) < 4:
        digits.append('0')
    a = int(''.join(digits))
    digits.reverse()
    b = int(''.join(digits))
    c = a - b
    print("%d - %d = %d" % (a, b, c))

本文章已经生成可运行项目
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值