激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

香港云服务器
服務器之家 - 編程語言 - JAVA教程 - Java使用遞歸法解決漢諾塔問題的代碼示例

Java使用遞歸法解決漢諾塔問題的代碼示例

2020-04-18 12:05goldensun JAVA教程

這篇文章主要介紹了Java使用遞歸法解決漢諾塔問題的代碼示例,漢諾塔問題是使用遞歸解決問題的經典范例,用到的算法非常簡單,需要的朋友可以參考下

漢諾(Hanoi)塔問題:古代有一個梵塔,塔內有三個座A、B、C,A座上有n個盤子,盤子大小不等,大的在下,小的在上(如圖)。

Java使用遞歸法解決漢諾塔問題的代碼示例

有一個和尚想把這n個盤子從A座移到B座,但每次只能允許移動一個盤子,并且在移動過程中,3個座上的盤子始終保持大盤在下,小盤在上。在移動過程中可以利用B座,要求打印移動的步驟。如果只有一個盤子,則不需要利用B座,直接將盤子從A移動到C。

  • 如果有2個盤子,可以先將盤子1上的盤子2移動到B;將盤子1移動到c;將盤子2移動到c。這說明了:可以借助B將2個盤子從A移動到C,當然,也可以借助C將2個盤子從A移動到B。
  • 如果有3個盤子,那么根據2個盤子的結論,可以借助c將盤子1上的兩個盤子從A移動到B;將盤子1從A移動到C,A變成空座;借助A座,將B上的兩個盤子移動到C。這說明:可以借助一個空座,將3個盤子從一個座移動到另一個。
  • 如果有4個盤子,那么首先借助空座C,將盤子1上的三個盤子從A移動到B;將盤子1移動到C,A變成空座;借助空座A,將B座上的三個盤子移動到C。

Java代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Hanoi {
  
 public static void main(String[] args) {
  int disk = 3; //盤子
  move(disk, 'A', 'B', 'C');
 }
  
 /*
  * 根據題意,從上向下編號 => 1 ~ n
  */
 /**
  *
  * @param topN 源塔頂的盤子編號
  * @param from 從哪個塔移動
  * @param inter 中介,過渡的塔
  * @param to 目的塔
  */
 private static void move(int topN, char from, char inter, char to) {
  if (topN == 1) {
   System.out.println("Disk 1 from " + from + " to " + to);
  } else {
   move(topN - 1, from, to, inter);
   System.out.println("Disk " + topN + " from " + from + " to " + to);
   move(topN - 1, inter, from, to);
  }
 }
   
}

out

?
1
2
3
4
5
6
7
Disk 1 from A to C
Disk 2 from A to B
Disk 1 from C to B
Disk 3 from A to C
Disk 1 from B to A
Disk 2 from B to C
Disk 1 from A to C

 

延伸 · 閱讀

精彩推薦
359
主站蜘蛛池模板: 亚洲一区二区免费 | 久久国产精品二国产精品中国洋人 | 亚洲天堂在线电影 | 中国女警察一级毛片视频 | 午色影院 | www国产免费 | 国产精品99久久久久久久 | 黄色高清av| 欧美激情猛片xxxⅹ大3 | 国产一级一区二区 | 一本一道久久久a久久久精品91 | 国产青草视频在线观看视频 | 精品在线观看一区二区 | 成人性生活视频在线观看 | 久久福利剧场 | 美女毛片在线观看 | 成人观看网站 | 国产午夜免费视频 | 亚洲自拍第二页 | 亚洲成人福利电影 | 国产精品99久久免费观看 | 中文在线观看视频 | 曰本三级日本三级日本三级 | 国产精品视频二区不卡 | 精品黑人一区二区三区国语馆 | 在线小视频国产 | 在线观看福利网站 | 毛片视频网址 | 最新视频一区二区 | 日本a在线观看 | 毛片三区 | 中文字幕一区久久 | 亚洲国产高清视频 | 老女人碰碰在线碰碰视频 | 国产精品99久久久久久久 | 久久观看免费视频 | 欧美亚洲免费 | 欧美一级视频在线 | 久久久成人精品视频 | 成年人在线视频免费 | 久久久综 |