-
Notifications
You must be signed in to change notification settings - Fork 1.4k
factorialize a number
huluoyang edited this page Oct 13, 2016
·
1 revision
阶乘是数学中的一个常用概念,通常简写成 n!
例如: 5! = 1 * 2 * 3 * 4 * 5 = 120
此题完美体现了编程中循环和递归的不同。
// 用递归来实现阶乘
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);
代码赏析:
循环操作,按照索引的顺序依次执行,简单易懂,对新手很友好。
递归操作,不停地调用函数自身,代码简洁,更适合高手。
每个人都是从菜鸟一步步成长过来的,这种循序渐进的过程能清晰看到自己技能的成长。
推荐给各位小伙伴,希望对你们的思维训练有帮助。