水仙花数(Python)

发布于 2022-04-25  919 次阅读


输入两个3位的正整数m,n,输出[m,n]区间内所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身。

输入格式:

测试数据由多组,处理到文件尾。每组测试输入两个3位的正整数m,n(100≤m<n≤999)。

输出格式:

对于每组测试,若[m,n]区间内没有水仙花数则输出“none”(引号不必输出),否则逐行输出区间内所有的水仙花数,每行输出的格式具体参看输出样例。

输入样例:

100 150
100 200

输出样例:

none
153=1*1*1+5*5*5+3*3*3

代码长度限制 16 KB
时间限制 400 m
内存限制 64 MB

while True:
    try:
        x, y = input().split(' ')
        x = int(x)
        y = int(y)
        k = 0
        for i in range(x, y + 1):
            if ((i % 10) ** 3) + ((i // 100) ** 3) + (((i % 100 - i % 10) // 10) ** 3) == i:
                print("%d=%d*%d*%d+%d*%d*%d+%d*%d*%d" % (i, i // 100, i // 100, i // 100, ((i % 100 - i % 10) // 10), ((i % 100 - i % 10) // 10),((i % 100 - i % 10) // 10), i % 10, i % 10, i % 10))
                k = 1
        if k == 0:
            print("none")
    except Exception:
        break


systemctl start study