作者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)
1F:→ tkcn:这样数字会对吗? 建议你把推文重新看一次吧 11/23 20:35
2F:推 Dreamlgw:对的吧~ 11/23 23:45
3F:→ tkcn:应该是连输出都有问题吧.. 11/24 00:09
4F:推 LawlietDo:你不是知道搬移次数是 2^N-1 吗@@ 怎麽会觉得这样对... 11/24 00:10