这基本上是检查给定的数字是否是阿姆斯特朗数的代码,但是我不明白为什么我的输出不正确
num = int(input("Enter a number: "))
sum = 0
temp = num
while temp > 0:
digit = temp % 10
sum += digit * 3
temp //= 10
if num == sum:
print(num,"is an Armstrong number")
else:
print(num,"is not an Armstrong number")
输出不正确
2条答案
按热度按时间sd2nnvve1#
获取总位数并应用
pow()
函数xa9qqrwz2#
您的算法错误。行:
...应该是...
这显然是您的意图。但是,这只适用于3位数。一般方法可以这样实现:
示例:
输出: