只是想知道是否有人能告诉我为什么这会返回100而不是120?它应该计算因子的总数。
....
</section>
<div class="Halloweeny"></div>
<!-- Image section -->
<section class="image-section red" id="image-section">
.....
答案 0 :(得分:2)
这不是计算阶乘的正确方法。您的代码中发生了什么,最后一次运行total = fact * fact;
行时,fact
的值为10(因为i
为5),因此10 * 10变为100是它的回报。
答案 1 :(得分:1)
TLDR您正在覆盖fact
的所有值。 var
的范围限定为JS中的函数。最终,您会到达i = 5
,最终将事实设置为(5+5) * (5+5)
,即100。
答案 2 :(得分:1)
如果您要计算阶乘,请使用以下代码:
function factorialize(num) {
var total = 1; // Initialize the total. 0! = 1.
for(var i = 1; i <= num; i++ ) {
total = total * i; // Add the current index to the factors by multiplying it by the current total.
}
return total;
}