js 斐波那契數列 漢諾塔 階乘遞迴常見小演算法

2021-08-08 16:36:37 字數 1169 閱讀 5298

//斐波那契數列  1,1,2,3,5,8,13,21,34....

function fun(n)

if (n <= 2)

return fun(n - 1) + fun(n - 2)

//fun(4)+fun(3)

//fun(3)+fun(2) +fun(2)+fun(1)

//fun(2)+fun(1)+fun(2)+ fun(2)+fun(1)

//1+1+1+1+1=5

}console.log(fun(5)); //5

//階乘演算法 m!=m*(m-1)...2*1

function f(m)

return m * f(m - 1)

}console.log(f(5)); // 120

//5*4*3*2*1

//上樓梯問題 上樓一次1步,兩步或3步,計算共有多少方法

function steps(j)

if (j === 1)

if (j === 2)

if (j === 3) //一次一步;一次三步;先一步後兩步;先兩步後一步

return steps(j - 1) + steps(j - 2) + steps(j - 3)

}console.log(steps(5)); //13

//兩個數之間最大公約數(如果相等,是其本身,否則兩者相減得絕對值和最小值比較)

function num(a, b)

return num(math.abs(a - b), math.min(a, b));

}console.log(num(12, 15)); //3

//漢諾塔

var hanoi = function (n, from, ass, to) else

};var move = function (from, to) ;

hanoi(2, "a", "b", "c");

//dom樹,獲取乙個節點的所有父節點

var array = ;

function getnode(node)

}getnode(document.getelementbyid('node'));

console.log(array);

遞迴 斐波那契數列 漢諾塔

遞迴 在乙個方法 函式 的內部呼叫該方法 函式 本身的程式設計方式。遞迴 public static void print int i public class testfebonacci 列印第n項斐波那契數列 public static int febonacci int i else publ...

遞迴斐波那契數列和漢諾塔

程式呼叫自身的程式設計技巧稱為遞迴 在高階語言中,函式呼叫自己和呼叫其他函式並沒有本質的不同。我們把乙個直接呼叫自己或通過一系列的呼叫語句間接地呼叫自己的函式,稱作遞迴函式 斐波那契數列指的是這樣乙個數列 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img anzoocxp 1607...

遞迴 漢諾塔問題和斐波那契數列

1.遞迴 遞迴簡單來講就是方法內部呼叫方法本身,它有如下要求 1.必須要有臨界條件,也就是遞迴必須要有出口,不能無限制的向深層呼叫方法,否則會棧溢位。2.漢諾塔問題 問題 有三根柱子 a,b,c。a柱子上有3個盤子,分別是1,2,3,如何使用最少的移動次數,將3個盤子從柱子a移動到柱子c?規則 1....