首页 > 代码库 > 函数;猴子吃桃函数算法

函数;猴子吃桃函数算法

公园里有一些桃子,猴子每天吃掉一半,扔掉一个烂的,第6天的时候发现剩余1个,问一开始有多少个桃子
1、var sy=1;
for(i=0;i<6;i++)
{
sy=(sy+1)*2;
}
2.递归算法:

function ShuLiang(n)
{
  if(n==6)
    {
      return 1;
    }
  var sl = (ShuLiang(n+1)+1)*2;//第n天的数量=(下一天的桃子数量+1)*2;
  return sl;//第n天的数量;
}
alert(ShuLiang(0));

//第一次调
function ShuLiang(0)
  {
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(1)
    return sl;
  }
//第二次调
function ShuLiang(1)
{
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(2)
    return sl;
}
//第三次调
function ShuLiang(2)
{
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(3)
    return sl;
}
//第四次调
function ShuLiang(3)
{
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(4)
    return sl;
}
//第五次调
function ShuLiang(4)
{
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(5)
    return sl;
}
//第六次调
function ShuLiang(5)
{
    var sl = (ShuLiang(n+1)+1)*2;//卡住,去调ShuLiang(6)
    return sl;
}
//第七次调
function ShuLiang(6)
{
  if(n==6)
    {
      return 1;
    }
}
alert(ShuLiang(0));
第七次的值 sl=1;返回第六次 (ShuLiang(n+1)+1)*2=(1+1)*2;返回第五次 (4+1)*2;
返回第四次 (10+1)*2; 返回第三次 (22+1)*2;返回第二次 (46+1)*2;返回第一次(94+1)*2
alert(ShuLiang(0));
顺序:0-1-2-3-4-5-6---6-5-4-3-2-1-0

函数;猴子吃桃函数算法