刷题日记:Python蓝桥杯--特殊的数字

资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
  153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。
输出格式
  按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。
解答:
方法1

for i in range(0,11):
    for m in range(0,11):
        for n in range(0,11):
            z =i**3+m**3+n**3
            a=z//100%10
            b=z//10%10
            c=z//1%10
            if z < 1000 and a==i and b==m and c==n and z!=0 and z!=1:
                print(z)
            else:
                continue

本来是没有写z!=0 和z!=1 这两个条件的,但是原来的输出结果会有0 和1 不符合要求,所以就硬加了这两行。
方法2

for i in range(100,1000):
    a=i//100%10
    b=i//10%10
    c=i//1%10
    A=a**3
    B=b**3
    C=c**3
    if i==A+B+C:
        print(i)

这个方法是借鉴了网友的答案,并作了部分修改。点击查看原答

发布了12 篇原创文章 · 获赞 0 · 访问量 148

猜你喜欢

转载自blog.csdn.net/qq_44812523/article/details/104969897