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

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

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

漢諾塔簡介:

在這里插入圖片描述

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

1層漢諾塔

在這里插入圖片描述

2層漢諾塔

在這里插入圖片描述

3層漢諾塔詳解圖

在這里插入圖片描述

第一步

在這里插入圖片描述

第二步

在這里插入圖片描述

第三步

在這里插入圖片描述

第四步

在這里插入圖片描述

第五步

在這里插入圖片描述

第六步

在這里插入圖片描述

第七步

在這里插入圖片描述

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

總之 最終C柱上第一個盤子,是最大,最頂?shù)氖亲钚〉?,而且在操作過程中,前幾步就是為了讓三個柱子中最大的盤子移動到C柱上,
然后不斷,將它兩個柱子中最大盤子往上累加,(盤子從大到小,從下往上擺放)

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

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

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

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

在這里插入圖片描述

程序如下

import java.util.Scanner;

public class Manuscript {
    static int times;// 移動次數(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)+"次移動,盤子"+disk+" "+M +"---->"+N);

    }
    public static void game(int n,char A,char B,char C){
        if(n==1){
            move(n,A,C);// 把A柱目前最大盤子放在C柱上,第一次肯定最大的那個
        }else{
            // 將 n-1 個 盤子 放到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 個盤子 放在C上,注意ACB位置
            game(n-1,B,A,C);// A(B)  B(A) C
        }
    }
}

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

在這里插入圖片描述

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

本文結(jié)束。

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

相關(guān)文章

  • 巧用Spring中的@Order進行排序

    巧用Spring中的@Order進行排序

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

    淺談SpringMVC國際化支持

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

    java中Supplier知識點總結(jié)

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

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

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

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

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

    Java8語法糖之Lambda表達式的深入講解

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

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

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

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

    Java一直穩(wěn)居程序員很受歡迎的編程語言的榜首,是企業(yè)中使用最廣泛的編程語言。這篇文章主要介紹了為什么Java是程序員受歡迎的語言這幾個原因你該清楚,需要的朋友可以參考下
    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

最新評論

玉田县| 独山县| 南京市| 包头市| 张家界市| 子长县| 昌平区| 绥江县| 虎林市| 岗巴县| 荣成市| 陇南市| 慈溪市| 九龙县| 镶黄旗| 阳谷县| 松潘县| 宁陕县| 普洱| 云霄县| 郁南县| 安康市| 海原县| 沧州市| 句容市| 威海市| 达拉特旗| 横峰县| 福清市| 永福县| 巢湖市| 西平县| 随州市| 永城市| 宜阳县| 永新县| 象山县| 嘉义县| 佛教| 民乐县| 西畴县|