0 的阶乘是 1,死规矩

0! (read "Zero Factorial") is defined to equal 1.

阶乘是比之小的正整数相乘,没有比零小的正整数,单数数据似乎又离不开零。

便强行定义为零的阶乘等于1

0! = 1

Solution 1

function factorialize(num) {//在下的答案,误打误撞解决了零的阶乘等于1
  let sum = 1;
  for(let i = num; i > 0; i--){
    sum *= i;
  }
  return sum;
}

//节省一个变量,但是要用var 来修饰,var 的作用域是for 的上一级范围
function factorialize(num) {
  for(var sum = 1; num > 0; num--){
    sum *= i;
  }
  return sum;
}

其它solution

https://www.freecodecamp.org/forum/t/freecodecamp-challenge-guide-factorialize-a-number/16013

https://zero-factorial.com/whatis.html

https://www.quora.com/Why-does-zero-factorial-0-equal-one-1-1