Python入门程序-验证 6174 猜想、判断水仙花数、爬楼梯、抓狐狸游戏

1.验证 6174 猜想。
1955 年,卡普耶卡(D.R.Kaprekar)对 4 位数字进行了研究,发现一个规律:
对任意各位数字不相同的 4 位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到 6174 这个数字,并且这个操作最多不会超过 7 次。请编写程序验证这个猜想,并输出计算次数。(难点在于如何求解最大数和最小数)

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

  1. 判断水仙花数。
    水仙花数(Narcissistic number)也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3 次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
    设计循环程序,输入一个三位整数,判断是否是水仙花数,如果是水仙花数,则输出“是水仙花数”,否则输出“不是水仙花数”。
def IsFlower(num):
    a=num//100
    b=num//10%10
    c=num%100%10
    return a**3+b**3+c
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值