最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

什么是遞歸?用Java寫一個(gè)簡(jiǎn)單的遞歸程序

 更新時(shí)間:2021年02月19日 14:17:29   作者:小明  
這篇文章主要介紹了什么是遞歸?用Java寫一個(gè)簡(jiǎn)單的遞歸程序,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是遞歸?用Java寫一個(gè)簡(jiǎn)單的遞歸程序

遞歸的定義

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

遞歸的要素

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

int diGuiTest(int n ){
}

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

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

代碼示例

求1–100之間所有自然數(shù)的和

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

斐波拉契數(shù)列
斐波那契數(shù)列(Fibonacci sequence),又稱黃金分割數(shù)列,因數(shù)學(xué)家萊昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數(shù)列”,指的是這樣一個(gè)數(shù)列:0、1、1、2、3、5、8、13、21、34、……在數(shù)學(xué)上,斐波那契數(shù)列以如下被以遞推的方法定義:F(0)=0,F(xiàn)(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);
}

}

漢諾塔問題

在這里插入圖片描述

首先我們考慮最簡(jiǎn)單的情況:

在這里插入圖片描述

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

在這里插入圖片描述

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);//上面兩個(gè)盤子,通過C柱到B柱
      move (A,C);
      hannio(paltfrom-1,B,A,C);//
    }
  }
  static  void move(char A,char B){
    System.out.println(A+"---->"+B);
  }
}

到此這篇關(guān)于什么是遞歸?用Java寫一個(gè)簡(jiǎn)單的遞歸程序的文章就介紹到這了,更多相關(guān)Java 遞歸內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot多文件分布式上傳功能實(shí)現(xiàn)

    SpringBoot多文件分布式上傳功能實(shí)現(xiàn)

    本文詳細(xì)介紹了如何在SpringBoot中實(shí)現(xiàn)多文件分布式上傳,并用代碼給出了相應(yīng)的實(shí)現(xiàn)思路和實(shí)現(xiàn)步驟,感興趣的朋友跟隨小編一起看看吧
    2023-06-06
  • Java表數(shù)據(jù)導(dǎo)出到Excel中的實(shí)現(xiàn)

    Java表數(shù)據(jù)導(dǎo)出到Excel中的實(shí)現(xiàn)

    這篇文章主要介紹了Java表數(shù)據(jù)導(dǎo)出到Excel中的實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • Java單鏈表反轉(zhuǎn)圖文教程

    Java單鏈表反轉(zhuǎn)圖文教程

    這篇文章主要給大家介紹了關(guān)于Java單鏈表反轉(zhuǎn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Java日期時(shí)間類(Date、DateFormat、Calendar)解析

    Java日期時(shí)間類(Date、DateFormat、Calendar)解析

    這篇文章主要介紹了Java日期時(shí)間類(Date、DateFormat、Calendar)解析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • SpringBoot中利用AOP和攔截器實(shí)現(xiàn)自定義注解

    SpringBoot中利用AOP和攔截器實(shí)現(xiàn)自定義注解

    本文將通過攔截器+AOP實(shí)現(xiàn)自定義注解,在這里攔截器充當(dāng)在指定注解處要執(zhí)行的方法,aop負(fù)責(zé)將攔截器的方法和要注解生效的地方做一個(gè)織入,感興趣的可以嘗試一下
    2022-06-06
  • springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問題

    springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問題

    這篇文章主要介紹了springboot項(xiàng)目啟動(dòng)的時(shí)候,運(yùn)行main方法報(bào)錯(cuò)NoClassDefFoundError問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • SpringSecurity?Web權(quán)限方案實(shí)現(xiàn)全過程

    SpringSecurity?Web權(quán)限方案實(shí)現(xiàn)全過程

    Spring Security是一個(gè)功能強(qiáng)大且高度可定制的身份驗(yàn)證和授權(quán)框架,專門用于保護(hù)Java應(yīng)用程序的Web集成,下面這篇文章主要給大家介紹了關(guān)于SpringSecurity?Web權(quán)限方案實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • QQ好友列表樹形列表java代碼實(shí)現(xiàn)代碼

    QQ好友列表樹形列表java代碼實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了QQ好友列表樹形列表簡(jiǎn)單實(shí)現(xiàn)方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java預(yù)覽PDF時(shí)的文件名稱問題及解決

    Java預(yù)覽PDF時(shí)的文件名稱問題及解決

    這篇文章主要介紹了Java預(yù)覽PDF時(shí)的文件名稱問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java基于反射得到對(duì)象屬性值的方法

    java基于反射得到對(duì)象屬性值的方法

    這篇文章主要介紹了java基于反射得到對(duì)象屬性值的方法,結(jié)合實(shí)例形式分析了java基于反射獲取對(duì)象屬性值的相關(guān)實(shí)現(xiàn)方法與操作技巧,需要的朋友可以參考下
    2017-03-03

最新評(píng)論

高陵县| 德清县| 吴忠市| 吕梁市| 梁山县| 罗江县| 马关县| 财经| 海林市| 右玉县| 凌源市| 克什克腾旗| 舞钢市| 阜平县| 云梦县| 冀州市| 那曲县| 遵义县| 东乌珠穆沁旗| 阿鲁科尔沁旗| 肥城市| 乐至县| 张掖市| 罗甸县| 密山市| 天峨县| 呼图壁县| 闽清县| 临洮县| 诸暨市| 青冈县| 浦北县| 绥阳县| 华池县| 静乐县| 岫岩| 新源县| 恩施市| 石首市| 肥东县| 凌云县|