农场买了一只小羊,这种羊在第一年是小羊,第二年的年底会生一只小羊,第三年不生小羊,第四年的年底还会再生下一只小羊,第五年就死掉了。
要计算N年时农场里有几只羊。
【凡是碰到“一生二、二生三、三生万物”的问题,无疑用递归算法(顺便和斐波那契数列联系起来)。下面是一个js实现的完整的代码:】
function sheepNum(year){ var num = 1; for(var i=1; i<=year; i++){ if(i==2){ num += sheepNum(year - 2); }else if(i==4){ num += sheepNum(year - 4); }else if(i==5){ num--; } } return num; } //比如输出第8年农场里羊的数量 console.log(sheepNum(8));
--
阶乘的递归算法 factorial [fæk'tɔrɪəl]
- adj. 因子的,阶乘的
var i,s; function factorial (i){ if(i > 1){ s = i * factorial(i-1); }else{ s = i; } return s; } factorial(3);
--