A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

小懒猫

中级黑马

  • 黑马币:52

  • 帖子:67

  • 精华:0

© 小懒猫 中级黑马   /  2017-10-22 20:44  /  1050 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

[mw_shl_code=java,true]import java.util.Scanner;

public class DoTower {

        public static void main(String[] args) {

                int nDisks = 0;
                System.out.print("请输入塔高:");
                Scanner scan = new Scanner(System.in);
                String read = scan.nextLine();
                try {
                        nDisks = Integer.valueOf(read);
                        if (nDisks < 1) {
                                throw new RuntimeException();
                        }
                } catch (Exception e) {
                        System.out.println("请输入大于等于1的整数!");
                        return;
                }
               
                int step = doTower(nDisks, 'A', 'B', 'C', 0);
                System.out.println("此次共用"+step+"步");
        }

        public static int doTower(int topN, char from, char inter, char to, int step) {
                ++step;
                if (topN == 1)
                        System.out.println("Disk 1: from " + from + " to " + to);
                else {
                        step = doTower(topN - 1, from, to, inter, step);
                        System.out.println("Disk " + topN + ": from " + from + " to " + to);
                        step = doTower(topN - 1, inter, from, to, step);
                }
                return step;
        }
}[/mw_shl_code]

1 个回复

倒序浏览
不错的算法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马