
怎么改都不对,是不是要建一个列表?然后用列表统计长度,但这个方法好像不太行,有没有推荐别的方法?
不用列表,因为水仙花数特指3位
n = input()
n = int(n)
sum = 0
for i in range(100, n):
a = i // 100
b = i // 10 % 10
c = i % 10
if a * a * a + b * b * b + c * c * c == i:
# print(i)
sum += 1
print(sum)
或者,如果你希望更多位
n = input()
n = int(n)
sum = 0
for i in range(100, n):
j = i
k = 0
while j > 0:
k += (j % 10) ** len(str(i))
j //= 10
if k == i:
sum += 1
print(sum)