首页 > 其他 > 详细

递归题

时间:2017-06-18 11:40:22      阅读:233      评论:0      收藏:0      [点我收藏+]

公园里面有200个桃子,每天吃掉一半,扔掉一个烂的,第6天剩余多少桃子

(迭代法)

当天的数量=(上一天的数量/2)-1

var sl = 200;
	for(var i=0;i<6;i++){
		sl = parseInt(sl/2)-1;
	}
	alert(sl);

公园里有一堆桃子,猴子每天能吃掉一半,扔掉一个烂的,发现第6天的时候剩余1个桃子,问刚开始有多少桃子

当天的剩余量= (下一天的剩余量+1)*2 

迭代:

var sl=1;
 for (var i=0;i<6;i++){
	   sl=(sl+1)*2; 
	 }
	 alert(sl);

  

递归:

函数明确:给一个天数,返回该天剩余的桃子数量

function shuLiang(ts){
	      
	           if( ts==6){
				   return 1;
				   }
				   return (shuLiang(ts+1)+1)*2
				 }
	 alert(shuLiang(1));

  

 函数运行过程:

0
     function shuLiang(0){
		 
		 return (shuLiang(0+1)+1)*2
		 }
	 
	 	 
1	 
	 function shuLiang(1){
		 return (shuLiang(1+1)+1)*2
		 }
		 
2		 
	 function shuLiang(2){
		 return (shuLiang(2+1)+1)*2
		 }
		 
3		 
	 function shuLiang(3){
		 return (shuLiang(3+1)+1)*2
		 }
		 
4		 
     function shuLiang(4){
		 return (shuLiang(4+1)+1)*2
		 }
		 
5		 
	function shuLiang(5){
		return (shuLiang(5+1)+1)*2
		}
6		
		
	function shuLiang(6){
		return (shuLiang(6+1)+1)*2
		}
		alert(1);
		
		
5		
	function shuLiang(5){
		return (shuLiang(5+1)+1)*2
		}
		alert(4);
		
4		
	function (4){
		return (shuLiang(4+1)+1)*2
		}
		alert(10);
		
3		
	function(3){
		return (shuLiang(3+1)+1)*2
		}
		alert(22);
		
2		
	function shuLiang(2){
		return (shuLiang(2+1)+1)*2
		}
		alert(46);
		
1		
	function shuLiang(1){
		
		return (shuLiang(1+1)+1)*2
		}
		alert(94);
		
0		
	function shuLiang(0){
		return (shuLiang(0+1)+1)*2
		}
		alert(190);

  

递归题

原文:http://www.cnblogs.com/nsl714745601/p/7043665.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!