求所有的三位数,它除以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)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!