求所有的三位数,它除以11所得的余数等于它的三个数字的平方和.

求所有的三位数,它除以11所得的余数等于它的三个数字的平方和. 思路: 枚举范围:100-999,共900个。 约束条件:①设三位数的百位、十位、个位的数字分别为x,y,z.则有x²+y²+z²≦10


for i in range(100,1000):
    k = i%11
    x,y,z = [int(k) for k in str(i)]
    if k==(x**2+y**2+z**2):
        print(x,y,z)
    
res = [i for i in range(100, 1000) if i % 11 == sum(map(lambda x: pow(int(x),2),str(i)))]
print(res)

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632