实例51经典的递归--汉诺塔

package test;

import java.util.List;
import java.util.ArrayList;
import java.util.Scanner;

import sun.net.www.content.audio.x_aiff;

/**
 * @author 年浩
 *
 */

public class test {


    public static void move(char x,char y) {
        System.out.printf("%c->%c", x,y);
        System.out.println();
        
    }
    public  static void hanoit(int n,char one,char two,char three) {
        if(n==1) move(one, three);
        else{
            hanoit(n-1, one, three, two);
            move(one, three);
            hanoit(n-1, two, one, three);
        }
        
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner cin = new Scanner(System.in);
        System.out.println("请输入汉诺塔的个数");
        int a = cin.nextInt();
        hanoit(a, 'x','y','z');
        
        
    }

}
View Code

 

posted @ 2016-04-18 23:39  超级学渣渣  阅读(269)  评论(0编辑  收藏  举报