水仙花数问题
我的解答for i in range(100,1000):
if i == ((i//100) ** 3) + (((i%100)//10)**3) + ((i%10)**3):
print(i)
看了下论坛也理解了小甲鱼的答案,但没怎么见到过我这种的。。
请问有什么优劣区别吗
小甲鱼答案:
for i in range(100, 1000):
sum = 0
temp = i
while temp:
sum = sum + (temp%10) ** 3
temp //= 10
if sum == i:
print(i) 没啥区别,你的也可以,只不过小甲鱼的效率要高一点 能实现就行 你的答案我理解了 但是小甲鱼的我还没看明白
fanfan121 发表于 2020-4-2 14:34
你的答案我理解了 但是小甲鱼的我还没看明白
小甲鱼循环三次,依次计算个位十位百位三次方并求和得sum,每个数都走三次循环。有早些的解释帖 H1wwww 发表于 2020-4-2 15:45
小甲鱼循环三次,依次计算个位十位百位三次方并求和得sum,每个数都走三次循环。有早些的解释帖
刚刚找到了 谢谢
页:
[1]