91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Java怎么編寫一個遞歸程序

發布時間:2021-02-20 16:05:44 來源:億速云 閱讀:244 作者:Leah 欄目:開發技術

這篇文章將為大家詳細講解有關使用Java怎么編寫一個遞歸程序,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

遞歸的定義

遞歸(recursion):以此類推是遞歸的基本思想,將規模大的問題轉化為規模小的問題來解決。

遞歸的要素

自定義遞歸函數,并確定函數的基本功能
例如Java從鍵盤輸入一個數,求輸入這個數的階乘。這個時候把輸入的數字作為形參

int diGuiTest(int n ){
}

找到遞歸函數循環結束條件
在求階乘的時候,我們不妨做出如下思考,例如輸入的n是5,那么5!是5 * 4 3 * 2 * 1,那是不是可以寫成
n
f(n-1)?,程序運行過程如下:
5* f(4)
f(4)相當于重新調用了函數,形參為4
5 * 4* f(n-1)
f(3)相當于重新調用了函數,形參為3
5 * 4* 3* f(n-1)
f(2)相當于重新調用了函數,形參為2
5 * 4* 3 * 2* f(n-1)
f(1)相當于重新調用了函數,形參為1
很容易發現,這時候如果遞歸調用到n為1的時候,就要結束調用自身
代碼如下:

int diGuiTest(int n ){
if(n==1){
return 1;
}
else{
return n*f(n-1);
}
}

代碼示例

求1–100之間所有自然數的和

int sum (int n ){
if(n==1){
return 1 ;
}
else{
return n+sum(n-1);
}
}

斐波拉契數列
斐波那契數列(Fibonacci sequence),又稱黃金分割數列,因數學家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:0、1、1、2、3、5、8、13、21、34、……在數學上,斐波那契數列以如下被以遞推的方法定義:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2) (n ≥ 2,n ∈ N*)

int fibonacci(int n ){

if (n<=1){
return n;
}
else {
return fibonacci(n-1)+fibonacci(n-2);
}

}

漢諾塔問題

使用Java怎么編寫一個遞歸程序

首先我們考慮最簡單的情況:

使用Java怎么編寫一個遞歸程序

將最上面的一塊放到B,再將最下面一塊放到C,再把最上面一塊從B放到C即可

使用Java怎么編寫一個遞歸程序

public class Hanio {
  public static void main(String[] args) {
    char A='A';
    char B='B';
    char C='C';
    hannio(3,A,B,C);
  }
  static  void hannio(int paltfrom,char A,char B, char C){
    if (paltfrom==1){
      move (A,C);
    }else {
      hannio(paltfrom-1,A,C,B);//上面兩個盤子,通過C柱到B柱
      move (A,C);
      hannio(paltfrom-1,B,A,C);//
    }
  }
  static  void move(char A,char B){
    System.out.println(A+"---->"+B);
  }
}

關于使用Java怎么編寫一個遞歸程序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巨鹿县| 南江县| 石门县| 会昌县| 南和县| 泸水县| 星子县| 江油市| 三明市| 麻江县| 如皋市| 旺苍县| 梨树县| 新竹市| 黄冈市| 区。| 吉安县| 安顺市| 福州市| 田东县| 瑞丽市| 辛集市| 秦皇岛市| 合作市| 时尚| 隆林| 三都| 方山县| 玛曲县| 临漳县| 沽源县| 汝阳县| 汾西县| 岫岩| 镇平县| 海林市| 蒙城县| 大名县| 马关县| 北宁市| 增城市|