python刷题-特殊的数字

DaLongggggg 等级 210 0 0

问题描述   153是一个非常特殊的数,它等于它的每位数字的立方和,即153=111+555+333。编程求所有满足这种条件的三位十进制数。 输出格式   按从小到大的顺序输出满足条件的三位十进制数,每个数占一行。

for i in range(100,1000):
    a = str(i)[0]
    b = str(i)[1]
    c = str(i)[2]
    A = int(a)**3
    B = int(b)**3
    C = int(c)**3
    if i == A+B+C:
        print(i)

因为只是三位十进制数 循环遍历转字符串取列表下标进行三次方相加判断即可

更简洁的

for i in range(100,1000):
    if int(str(i)[0])**3 + int(str(i)[1])**3 + int(str(i)[2])**3 == i:
        print(i)

除法计算的

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

Python 运算符

收藏
评论区