一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - JAVA教程 - Java使用遞歸法解決漢諾塔問題的代碼示例

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

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

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

漢諾(Hanoi)塔問題:古代有一個梵塔,塔內(nèi)有三個座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,當(dāng)然,也可以借助C將2個盤子從A移動到B。
  • 如果有3個盤子,那么根據(jù)2個盤子的結(jié)論,可以借助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');
 }
  
 /*
  * 根據(jù)題意,從上向下編號 => 1 ~ n
  */
 /**
  *
  * @param topN 源塔頂?shù)谋P子編號
  * @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

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品视频免费在线观看 | 国产在线观看福利片 | 日本中文字幕一区二区有码在线 | 草莓香蕉榴莲丝瓜秋葵绿巨人在线看 | 女娃开嫩苞经历小说 | 亚洲va久久久久综合 | 俄罗斯大逼 | 午夜影院网站 | 肉文小说| 国产一区日韩二区欧美三区 | 欧美一二区视频 | 2020最新韩国理论三级0k | 亚洲2017天堂色无码 | 国产成人精品日本亚洲网址 | 亚洲嫩模吧粉嫩粉嫩冒白浆 | 美女校花被调教出奶水 | 九九在线精品亚洲国产 | 四虎精品免费国产成人 | 成年女人免费 | 亚洲国产福利精品一区二区 | 久久精品一区 | 91短视频社区在线观看 | 91麻豆国产福利精品 | 午夜精品久视频在线观看 | 国产自在自线午夜精品之la | 506070老熟肥妇bbwxx视频 500第一精品 | 亚洲国产成人99精品激情在线 | 无限资源在线观看完整版免费下载 | 美女张开大腿让男人桶 | 欧美日韩免费一区二区在线观看 | uoco福利姬网站| 男人天堂网www | 国产精品久线观看视频 | 我要看逼| 欧美专区视频 | 32pao强力打造免费高速高清 | 精品日韩二区三区精品视频 | 国产成人啪精品视频站午夜 | 精品久久久久香蕉网 | 天天色国产 | 亚洲精品在线免费观看视频 |