Java遞迴演算法和迭代演算法求階乘

2021-08-25 19:32:53 字數 795 閱讀 3899

什麼是遞迴:

1.1含義: 遞迴就是乙個函式直接或者間接的呼叫自己的方法

1.2如何利用遞迴求階乘?

分析:

例如:求4的階乘 等於4*3*2*1;

假設我們把使n=4的話,那麼等式就變成 n*(n-1)*(n-2)(n-3)

第乙個數:n

第二個數=第乙個數-1;

第三個數=第二個數-1;

… 通過觀察我們發現,n每次都乘n本身減去乙個數。直到n減去乙個數後等於0;

於是就有:(不知道什麼原因,這張圖顯示不了,**參考最下方)

![這裡寫描述](
什麼是迭代:2.1直白的說就是:每一次操作重複上乙個操作,一步一步得出結果

2.2階乘求法

分析: 求4的階乘 等於4*3*2*1

第乙個數=1;

第二個數=第乙個數+1;

第三個數=第二個數+1;

…. 假如我們把i=1的話 ,等式變成: i*(i+1)(i+1+1)(i+1+1+1)

我們每一次乘的數都是上乙個數加1而來的

於是就有:

完整**:

演算法 迭代和遞迴

在日常程式的編寫中,複雜的專案日益增多,在後期的 優化上需要花更多的時間和精力。在前期的規劃上也越來越重要,前期良好的規劃可以避免後期遇到些奇怪的問題。這次部落格我希望通過講解下迭代和遞迴的具體應用場景,來表達寫程式是前期規劃的作用和解決具體問題所需要的方法。遞迴和迭代,都是一種迴圈演算法。遞迴在迴...

演算法 迭代和遞迴

遞迴 遞迴常見的優化手段有尾遞迴,迭代,迴圈 尾遞迴 在每一次遞迴的過程中保持了上一次計算的狀態,也就是 線性迭代過程 尾遞迴和一般的遞迴不同在對記憶體的占用,普通遞迴建立stack累積而後計算收縮,尾遞迴只會占用恒量的記憶體 和迭代一樣 尾遞迴是指,在函式返回的時候,呼叫自身本身,並且,retur...

java演算法 折半查詢 遞迴演算法和非遞迴演算法

package ceshi public class bisearch param args 折半查詢 當查詢表是有序表時,可採用折半查詢 基本思想 在有序表中,取中間元素作為比較物件,若給定值k與中間記錄關鍵字相等,則查詢成功 若給定值k小於中間記錄的關鍵字,則在表的左半區繼續查詢 若給定值k大於...