zoukankan      html  css  js  c++  java
  • 汉诺塔算法(Java版)

    /**
     * 汉诺塔递归:每次只能移动一个长方形,并且大的长方形不能在小的长方形之上
     * 算法:递归
     * 第一步:
     *      把n-1个模块 从塔1移动到塔2
     *      把第n个模块 从塔1移动到塔3
     * 第二步:
     *      把n-1个模块 从塔2移动到塔3
     */
    
    import java.util.Scanner;
    
    public class Hanoi {
        public static int count;
    
        public static void main(String[] arg) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            hanoi(n, "A塔", "B塔", "C塔");
            System.out.println("总共:"+count+"步骤");
        }
    
        public static void hanoi(int n, String a, String b, String c) {
            if (n == 1) {
                System.out.println(a + "--->" + c);
            }else {
                hanoi(n - 1, a, c, b);
                System.out.println(a + "--->" + c);
                hanoi(n - 1, b, a, c);
    
            }
            count++;
        }
    
    }
    
    
  • 相关阅读:
    未格式化的输入/输出操作
    格式化输入与输出
    随机数
    正则表达式
    bitset
    tuple
    servlet笔记
    springside
    maven
    Lua简易入门教程
  • 原文地址:https://www.cnblogs.com/saysayzhou/p/14508145.html
Copyright © 2011-2022 走看看