JS函數遞歸
阿新 • • 發佈:2017-10-24
cti turn console n! word span function font 小兔子
一、知識說明
function fun()
{
// 自己調用自己,稱為遞歸調用
fun();
console.log("m2");
}
fun();
二、函數+變量
// 用遞歸 來求 5 的階乘
// n! = n * (n-1)!
// 定義一個函數,用於求 n 的階乘
function func(n)
{
if (n == 1)
{
return 1;
}
// func(n-1) 因為傳遞的參數是 n-1,那麽就是求 (n-1) 的階乘
return n * func(n-1);
}
console.log( func( 5) );
三、函數+函數
//斐波拉契題(兔子生兔子題目)--從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子對數為多少
// 產量分析:1, 1, 2, 3, 5, 8, 13, 21 。。。
// 第n個月的兔子總數 = 第n-1個月的兔子總數 + 第n-2個月的兔子總數
// 問題: 求任意月兔子的總數
function func( n )
{
if (n == 0 || n == 1)
{
return 1;
}
return func(n-1) + func(n-2);
}
var a = func(22);
console.log(a);
JS函數遞歸