作者tga123 (叛帝)
看板java
標題Re: [問題] 想問一下java的河內塔
時間Mon Nov 23 17:56:01 2009
感謝版友的幫忙已經有結果了
import java.util.*;
public class Hanoi {
private static int W = 0; <<<<<<<<首先先加上這一行
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) {
W++;(在這個位置平方)
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("您的搬運數是");
System.out.print(W-1);(輸出結果-1)
}
}
}
這樣就可以算出河內塔的次數了
至於變數名稱還是要設一個比較好確認的名子
否則幫忙的人會看不懂(版友辛苦了)
感謝版友的幫忙喔
感激不盡
--
□卑怯戦隊□ __ _ ▍▍▎▎▏▏ψquetzal ◤ ◥ ◢ ◥
▇▇▇ ▇▇▇ ▇▇▇▇ █ ▇▇▇│▏ ◤ ◢◢▼ ◢ ◤◥ █ █
▇▇▇ ◤ ◤ ▉▇▇ ▁ ◣ ▉▇▇ __◤★ ★ ____◤◥◥ ﹣ —▼ █ █
█ ▁▁█ ▉ ◤ █ ▉ ◤ ↖◣ ■ ◢ 《ξ● ● ◣▼'"◢◤██
█ █ ▉ ◢ █ ▉ ◢ ▃▃◥██◣ ﹨◣︶;"◢◤◢ ▊▎██
▇▇ ◤ █▇ ◤▼▼ ▇ ▲▲▼▼ ▇◣◢◤★ ★ ◥ ﹨◤▆ ◥◆︶▲■▅ ▅
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.163.78
※ 編輯: tga123 來自: 122.116.163.78 (11/23 18:03)
→ tkcn:這樣數字會對嗎? 建議你把推文重新看一次吧 11/23 20:35
推 Dreamlgw:對的吧~ 11/23 23:45
→ tkcn:應該是連輸出都有問題吧.. 11/24 00:09
推 LawlietDo:你不是知道搬移次數是 2^N-1 嗎@@ 怎麼會覺得這樣對... 11/24 00:10