正在回答
2回答
同学你好,这个题没法用递增的方式实现。对1、2、3......n求和(sum(n)),我们已知的就是sum(1)=1(对1求和等于1),所以只能利用sum(1)求sum(n)的值,因此只能递减,如下:
function factorial(n) { if (n == 1) return 1; return n + factorial(n - 1); } alert(factorial(100))
假设n是2,即求1、2的和,那么过程如下:
n初始是2, factorial(2) =n + factorial(n - 1)=2+factorial(1);
factorial(1)会继续计算,此时n是1,得到factorial(1)=1;
即factorial(2) =2+factorial(1)=2+1=3,得到了结果。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星