作者tga123 (叛帝)
看板java
標題[問題] 想問一下java的河內塔
時間Mon Nov 23 17:13:13 2009
我已經知道河內塔的公式怎麼列
先說這是學校的作業
題目是要算出河內塔的搬運次數
搬運次數的算法是
2平方N-1
以下是公式
import java.util.*;
public class Hanoi {
public static void main(String args[]) {
System.out.print("請輸入盤數:");
Scanner s = new Scanner(System.in);
Hanoi hanoi = new Hanoi();
hanoi.move(s.nextInt(), 'A', 'B', 'C');
}
public void move(int n, char a, char b, char c) {
if(n == 1) {
System.out.println("盤由 " + a + " 移至 " + c);
}
else {
move(n - 1, a, c, b);
move(1, a, b, c);
move(n - 1, b, a, c);
System.out.print(hanoi);
}
}
}
要算次數的話那個N要怎麼取得還有變數S不能取來運算用嗎
我GOOGLE好久都有說怎麼算出搬運次數
可是就是沒有人說要怎麼取得那個N
還是我的寫法整個就錯誤
要用別的寫法才有可能取得N來做運算嗎
還是根本就不用取N而是有更好的方法呢
希望版友可以幫我的,感激不盡
如果這是一個蠢問題,並且不適合拿來發文,請通知我,我會回來自爆的
--
ボ ◢ ◥══
◢ ◥═══
◢ ◥◣ ══
◥◣◢◤◣
═ ◣◢═Vocaloi
d╮
║
◣ ◤◥ ◢◢◢▼ quetzal◤◥◥﹨◣ ◢◥◤ ◥ ▼◥ ◣◢ ║
║
● ●▼ ● ●◥ ロ ● ● ;│ ▼◥︽﹨ ◆▼◥▼﹨ ▃▃
║
◣▄ ◢◤ ◤◣▆ ◢◥ ◥
◣▃ ▉
◤ ═● ● ▌ ◤● ● ▌ ◢
ド!
║
◤◤◢ ◣
カ ████▆≡ ◤▆ ◥ ◢
◣▁ ▉
◥ ◣▄ ▉
◤ ▅▅
╰══
◣︶●═══
▊█▎◥◣══
▼ ◢/△ ◤═イ═△▅/◥══
△▅/◣ ═══
╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.163.78
※ 編輯: tga123 來自: 122.116.163.78 (11/23 17:13)
推 LawlietDo:設一個static變數 在你認為最像搬移的地方做++的動作 11/23 17:31
推 etrexetrex:n 就是 s 吧? 11/26 08:24