Skip to content

factorialize a number

huluoyang edited this page Oct 13, 2016 · 1 revision

计算一个数的阶乘

阶乘是数学中的一个常用概念,通常简写成 n!

例如: 5! = 1 * 2 * 3 * 4 * 5 = 120

FCC传送门

此题完美体现了编程中循环和递归的不同。

// 用递归来实现阶乘
function factorialize(num) {
  if(num<2){
    return 1;
  }else{
    return num*factorialize(num-1);
  }
}
// 用循环来实现阶乘
function factorialize(num) {
  if(num<2){
    return 1;
  }
  for(var i=1,result=1;i<=num;i++){
    result = result*i;
  }
  return result;
}

factorialize(5);

代码赏析:

循环操作,按照索引的顺序依次执行,简单易懂,对新手很友好。

递归操作,不停地调用函数自身,代码简洁,更适合高手。

每个人都是从菜鸟一步步成长过来的,这种循序渐进的过程能清晰看到自己技能的成长。

推荐给各位小伙伴,希望对你们的思维训练有帮助。

Clone this wiki locally