设表示千位、百位、十位、个位数字分别为a、b、c、d的四位数,编程找到所有满足= a4 + b4 + c4 + d4的四位数。
代码如下,正确的话点击一下采纳谢谢
# 设表示千位、百位、十位、个位数字分别为a、b、c、d的四位数,编程找到所有满足= a4 + b4 + c4 + d4的四位数。
for a in range(1, 10):
for b in range(10):
for c in range(10):
for d in range(10):
if (a**4 + b**4 + c**4 + d**4) == int(str(a)+str(b)+str(c)+str(d)):
print(str(a)+str(b)+str(c)+str(d))
题目是不是要求a,b,c,d四个数字互不相同?
是的话只有一个数符合条件:
for i in range(1000,10000):
i = str(i)
if len(set(i))==4:
a,b,c,d = map(int,i)
if a**4+b**4+c**4+d**4 == int(i):
print(i)
输出:
1634
如果不要求必须不同的话,把if len(set(i))==4这句去掉,有三个数:
1634
8208
9474