有人可以解釋這個代碼是如何工作的?它是codeacademy遞歸js上的代碼。該代碼使用Fibonacci序列確定增長率。代碼輸出Fibonacci Beanstalk遞歸javascript
var height = growBeanstalk(5) // 5
var height = growBeanstalk(8) // 21 etc.
(4) => //3 (3) => //2
預先感謝您!
function growBeanstalk(years) {
// Base case
if (years <= 2) {
return 1;
}
// Recursive case
return growBeanstalk(years - 1)+ growBeanstalk(years - 2);
}
// Set the height of the beanstalk using your function
var height = growBeanstalk();
console.log(height);
[JavaScript的斐波那契崩潰(可能的重複http://stackoverflow.com/questions/18980531/javascript-斐波那契分解) – Prune
堆棧溢出有許多很好的解釋遞歸使用斐波那契序列;幾個在JavaScript中。在對這個話題進行研究之後,你對此感到困惑嗎? – Prune
例如在growBeanstalk的情況下,我很困惑(8)它給出21,我知道它是8 + 13,但是爲什麼以及在哪裏陳述?爲什麼直到5返回5,6 => 8,7 => 13。爲什麼6返回8? –