作者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)
1F:推 LawlietDo:设一个static变数 在你认为最像搬移的地方做++的动作 11/23 17:31
2F:推 etrexetrex:n 就是 s 吧? 11/26 08:24