【发布时间】:2020-06-14 01:07:13
【问题描述】:
结果被初始化为 0,但在 while 循环执行后,它的值仍然是 0。我尝试了很多,但它没有按我的预期工作。我不知道是不是因为变量声明。
armstrongNumber = (num) ->
originalnum = num
result=0
count=0
while num != 0
num = parseInt(num / 10)
count++
while num != 0
remainder = num % 10
result += Math.pow(remainder, count)
num = parseInt(num / 10)
console.log result
console.log count
console.log num
if result == originalnum
console.log "Yes, it is an Armstrong number"
else
console.log "It is not an Armstrong number"
armstrongNumber 12
【问题讨论】:
-
你期待什么?
-
执行while循环后result的值仍然为0。
-
第二个循环永远不会运行(这是唯一触及结果的循环)。第一个循环确保 num == 0。第二个循环仅在 num != 0 时运行,这绝不是这种情况。
-
非常感谢,我得到了错误,我的代码现在可以工作了。
-
也许您可以发布正确的代码,然后将问题标记为已解决? :)
标签: coffeescript