zoukankan      html  css  js  c++  java
  • 递归案例:汉诺塔问题

    package com.laughing.test;

    import java.util.Scanner;

    /**

     * 汉诺塔问题

     * 递归算法

     * @author Laughing

     * @time 2016年3月22日

     */

    public class HanNuoTa {

    private static int i=0;//移动步数

    /**

     * n个借助y移动到z上

     * @param n n个

     * @param x 起始点

     * @param y 借助点

     * @param z 落脚点

     */

    public static int move(int n,String x,String y,String z){

    if(n == 1){

    System.out.println(x+"-->"+z);

    i++;

    return i;

    }else{

    move(n-1, x, z, y);//n-1个从x借助z移动到y上

    System.out.println(x+"-->"+z);

    move(n-1,y,x,z);//n-1个从y借助x移动到z上

    i++;

    return i;

    }

    }

    public static void main(String[] args) {

    Scanner in = new Scanner(System.in);

    System.out.println("请输入n值:");

    int n = in.nextInt();

    int i = move(n,"x","y","z");

    System.out.println("移动的步数总共为:"+i);

    }

    }

    —————————————————————————————————————行走在人猿的并行线——Laughing_Lz
  • 相关阅读:
    无约束梯度算法
    resp协议
    union和union all
    cgi和fastcgi
    证书认证原理
    HTTPS的实现原理
    redis消息队列优缺点有哪些?redis消息队列的优缺点
    cname是个什么东西
    CDN
    PHP 删除数组中的元素
  • 原文地址:https://www.cnblogs.com/Laughing-Lz/p/5306811.html
Copyright © 2011-2022 走看看