首页 > 代码库 > 递归例子

递归例子

公园有200个桃子,猴子每天吃掉10个,挑出2个坏的扔掉,问六天后剩余桃子数量

使用循环做的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var taozishuliang = 200;
for( var i=0;i<6;i++)
{
taozishuliang=taozishuliang-12;
}
alert(taozishuliang);
 
 
 
var sl=1
for(var i=0;i<6;i++)
{
sl=(sl+1)*2
}
alert(sl);

 

公园里有一堆桃子,猴子每天吃掉一半,扔掉一个坏的,第六天发现还剩1个桃子,问原来有多少桃子
使用函数求:函数功能就是返回第n天的桃子数量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
var sl;
function Shuliang(n)
{ //第六天还剩1个桃子
if (n==6)
{
sl=1;  
}
else
{ //当求天返回的数量
//当天数量=(下一天的数量+1)*2
sl = (Shuliang(n+1)+1)*2;
}
return sl; //返回当天的数量
}
alert(Shuliang(0));

  



//上面的函数先从第一天函数开始,然后在从第六天往上推算

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Shuliang(0) 190
sl=(shuliang(1)+1)*2
 
Shuliang(1) 94
sl=(shulaing(1+1)+1)*2
 
Shuliang(2) 46
sl=(shulaing(2+1)+1)*2
 
Shuliang(3) 22
sl=(shulaing(3+1)+1)*2
 
Shuliang(4) 10
sl=(shulaing(4+1)+1)*2
 
Shuliang(5) 4
sl=(shulaing(5+1)+1)*2
 
Shuliang(6)
sl=1

递归例子