JavaScript 语言的递归编程
题目:从1累加一直加到100的和是多少?
非递归的循环写法:
递归的写法:
上面这种代码在网上一搜就一大堆,下面的写法与它等价:
这样的写法便于学习。以上是线性递归,作为递归入门的话还行,算法的性能效率就烂了些,不作考虑。
非递归的循环写法:
代码如下:
1run: function() { 2 var sum = 0; 3 for(var i=1;i<=100;i++) { 4 sum = sum + i; 5 } 6 console.log(sum); 7}
递归的写法:
代码如下:
var testCase = { sum: 0, run: function(n) { if(n>=100) { return 100; } else { sum = n+ testCase.run(n+1); return sum; } } }; console.log(testCase.run(1));
上面这种代码在网上一搜就一大堆,下面的写法与它等价:
代码如下:
console.log((function(n){ var sum=0; if(n<=1){ return 1; } else{ sum = arguments.callee(n-1)+n; return sum; } })(100));
这样的写法便于学习。以上是线性递归,作为递归入门的话还行,算法的性能效率就烂了些,不作考虑。
相关推荐
steeven 2020-11-10
Tips 2020-10-14
nongfusanquan0 2020-08-18
yedaoxiaodi 2020-07-26
清溪算法君老号 2020-06-27
pengkingli 2020-06-25
yishujixiaoxiao 2020-06-25
清溪算法 2020-06-21
RememberMePlease 2020-06-17
nurvnurv 2020-06-05
SystemArchitect 2020-06-02
码墨 2020-05-29
清溪算法 2020-05-27
choupiaoyi 2020-05-27
清溪算法 2020-05-25
bluewelkin 2020-05-19
dbhllnr 2020-05-15
steeven 2020-05-09
baike 2020-05-09