[問題] 想問一下java的河內塔

看板java作者 (叛帝)時間16年前 (2009/11/23 17:13), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串1/2 (看更多)
我已經知道河內塔的公式怎麼列 先說這是學校的作業 題目是要算出河內塔的搬運次數 搬運次數的算法是 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而是有更好的方法呢 希望版友可以幫我的,感激不盡 如果這是一個蠢問題,並且不適合拿來發文,請通知我,我會回來自爆的 -- ══ ◣◢◣◢Vocaloid╮ ◤◥ ◢◢ quetzal◥◥ ◥◤ ◣◢ ║ ║ ● ●▼ ● ●◥ ● ● ; ︽﹨ ◥▼ ▃▃ ║ ● ● ● ● ド! ███▆≡ ▅▅ ══◣︶●══ ◥◣ / / / ══ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.163.78 ※ 編輯: tga123 來自: 122.116.163.78 (11/23 17:13)

11/23 17:31, , 1F
設一個static變數 在你認為最像搬移的地方做++的動作
11/23 17:31, 1F

11/26 08:24, , 2F
n 就是 s 吧?
11/26 08:24, 2F
文章代碼(AID): #1B2b8j3j (java)
文章代碼(AID): #1B2b8j3j (java)