看板 java 關於我們 聯絡資訊
感謝版友的幫忙已經有結果了 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