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

Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)

 更新時(shí)間:2021年10月25日 14:38:38   作者:Dark And Grey  
漢諾塔是源于印度一個(gè)古老傳說的益智玩具。大梵天創(chuàng)造世界時(shí)做了三根石柱,在一根柱子上從下往上按大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規(guī)定,在小圓盤上不能放大圓盤,三根柱子之間一次只能移動(dòng)一個(gè)圓盤

漢諾塔簡(jiǎn)介:

在這里插入圖片描述

我們想要實(shí)現(xiàn)的是 讓 A柱上的盤子,移動(dòng)到C柱上

1層漢諾塔

在這里插入圖片描述

2層漢諾塔

在這里插入圖片描述

3層漢諾塔詳解圖

在這里插入圖片描述

第一步

在這里插入圖片描述

第二步

在這里插入圖片描述

第三步

在這里插入圖片描述

第四步

在這里插入圖片描述

第五步

在這里插入圖片描述

第六步

在這里插入圖片描述

第七步

在這里插入圖片描述

經(jīng)過上面的圖解,相比大家一定在一定程度了解到漢諾塔的游戲規(guī)則,以及怎么去玩。

總之 最終C柱上第一個(gè)盤子,是最大,最頂?shù)氖亲钚〉模以诓僮鬟^程中,前幾步就是為了讓三個(gè)柱子中最大的盤子移動(dòng)到C柱上,
然后不斷,將它兩個(gè)柱子中最大盤子往上累加,(盤子從大到小,從下往上擺放)

而且盤子一多,你就會(huì)發(fā)現(xiàn)過程中間,除了最大的盤子,其余的盤子都會(huì)集中在 B柱上,這樣才能把 A 柱上最底下也是最大的盤子,移動(dòng)到C上。
這是規(guī)律一

還有一個(gè)規(guī)律,在最大的盤子移動(dòng)C柱上之后,第二個(gè)大的盤子要放在A柱上,其余盤子按照規(guī)則全部放在B柱上,
這樣第二大的盤子才能移動(dòng)到最大的盤子上

說白了,盤子再多,也要按照上面兩個(gè)規(guī)律,才能完成整個(gè)游戲

那我把最大盤子上面的所有盤子看成一個(gè)整體,放在B柱上,最大盤子移動(dòng)到C柱上,把B柱上盤子直接蓋上去,不就行了,反正也就是重復(fù)那兩個(gè)規(guī)律而已

在這里插入圖片描述

程序如下

import java.util.Scanner;

public class Manuscript {
    static int times;// 移動(dòng)次數(shù)
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char A = 'A';
        char B = 'B';
        char C = 'C';
        int n = scanner.nextInt();
        game(n,A,B,C);
        scanner.close();
    }
    public static void move(int disk,char M,char N){
        System.out.println("第"+(++times)+"次移動(dòng),盤子"+disk+" "+M +"---->"+N);

    }
    public static void game(int n,char A,char B,char C){
        if(n==1){
            move(n,A,C);// 把A柱目前最大盤子放在C柱上,第一次肯定最大的那個(gè)
        }else{
            // 將 n-1 個(gè) 盤子 放到B柱子,注意ABC位置,再看看下面  move(n,A,C);,細(xì)細(xì)琢磨
            game(n-1,A,C,B);// A   B(C)  C(B)
            
            
            move(n,A,C);
            
            // 把n-1 個(gè)盤子 放在C上,注意ACB位置
            game(n-1,B,A,C);// A(B)  B(A) C
        }
    }
}

3層漢諾塔的輸出結(jié)果附圖(可以返回去看看,對(duì)一對(duì))

在這里插入圖片描述

有什么疑問,可以在下方討論,切記 不要自己帶入一個(gè)特別大數(shù)字去展開,帶入一個(gè) 1 ~3 ,了解規(guī)律就行。不主張展開,主張掌握規(guī)律(遞推公式)。

本文結(jié)束。

以上就是Java 實(shí)現(xiàn)一個(gè)漢諾塔實(shí)戰(zhàn)練習(xí)的詳細(xì)內(nèi)容,更多關(guān)于Java 漢諾塔的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 巧用Spring中的@Order進(jìn)行排序

    巧用Spring中的@Order進(jìn)行排序

    這篇文章主要介紹了巧用Spring中的@Order進(jìn)行排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 淺談SpringMVC國際化支持

    淺談SpringMVC國際化支持

    這篇文章主要介紹了淺談SpringMVC國際化支持,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • java中Supplier知識(shí)點(diǎn)總結(jié)

    java中Supplier知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于java中Supplier知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-04-04
  • Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例

    Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法示例

    這篇文章主要介紹了Java基于反射機(jī)制實(shí)現(xiàn)全部注解獲取的方法,結(jié)合實(shí)例形式分析了java反射機(jī)制獲取注解的具體實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • 在SpringBoot中實(shí)現(xiàn)一個(gè)訂單號(hào)生成系統(tǒng)的示例代碼

    在SpringBoot中實(shí)現(xiàn)一個(gè)訂單號(hào)生成系統(tǒng)的示例代碼

    在Spring Boot中設(shè)計(jì)一個(gè)訂單號(hào)生成系統(tǒng),主要考慮到生成的訂單號(hào)需要滿足的幾個(gè)要求:唯一性、可擴(kuò)展性、以及可能的業(yè)務(wù)相關(guān)性,本文給大家介紹了幾種常見的解決方案及相應(yīng)的示例代碼,需要的朋友可以參考下
    2024-02-02
  • Java8語法糖之Lambda表達(dá)式的深入講解

    Java8語法糖之Lambda表達(dá)式的深入講解

    這篇文章主要給大家介紹了關(guān)于Java8語法糖之Lambda表達(dá)式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Java?Cookie與Session實(shí)現(xiàn)會(huì)話跟蹤詳解

    Java?Cookie與Session實(shí)現(xiàn)會(huì)話跟蹤詳解

    session的工作原理和cookie非常類似,在cookie中存放一個(gè)sessionID,真實(shí)的數(shù)據(jù)存放在服務(wù)器端,客戶端每次發(fā)送請(qǐng)求的時(shí)候帶上sessionID,服務(wù)端根據(jù)sessionID進(jìn)行數(shù)據(jù)的響應(yīng)
    2022-11-11
  • 為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚

    為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚

    Java一直穩(wěn)居程序員很受歡迎的編程語言的榜首,是企業(yè)中使用最廣泛的編程語言。這篇文章主要介紹了為什么Java是程序員受歡迎的語言這幾個(gè)原因你該清楚,需要的朋友可以參考下
    2020-07-07
  • Java生成exe可執(zhí)行文件

    Java生成exe可執(zhí)行文件

    本文主要介紹了Java如何生成exe可執(zhí)行文件,想了解更多的小伙伴可以借鑒閱讀這篇文章
    2023-03-03
  • java 注解的基礎(chǔ)詳細(xì)介紹

    java 注解的基礎(chǔ)詳細(xì)介紹

    這篇文章主要介紹了java 注解的基礎(chǔ)詳細(xì)介紹的相關(guān)資料,希望通過本文大家能掌握注解的使用方法,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

三河市| 庄河市| 达拉特旗| 米易县| 吉林市| 巴青县| 百色市| 剑川县| 定西市| 永安市| 米脂县| 宁海县| 扎赉特旗| 闵行区| 苍梧县| 辽宁省| 宁晋县| 宜城市| 宝兴县| 蒙山县| 洛宁县| 四会市| 彝良县| 韩城市| 丘北县| 横峰县| 梧州市| 海城市| 高陵县| 福泉市| 潍坊市| 印江| 伊宁县| 蒲江县| 漠河县| 香港| 高淳县| 华池县| 晋中市| 伊宁市| 徐汇区|