首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

汉诺塔有关问题分析

2013-11-02 
汉诺塔问题分析/* *汉诺塔:递归求解 *以下方法参考了:C语言程序设计教程(第二版)*/import java.util.Scann

汉诺塔问题分析

/* *汉诺塔:递归求解 *以下方法参考了:C语言程序设计教程(第二版)*/import java.util.Scanner ;public class Hanoi_1{public static int plate = 0 ;public static void main( String args [] ){System.out.println( "********************************" ) ;Scanner reader = new Scanner( System.in ) ;System.out.println( "输入盘子的个数:" ) ;plate = reader.nextInt() ;System.out.println( "********************************" ) ;hanoi( plate, 'A', 'B', 'C' ) ;}public static void hanoi( int n ,char a, char b, char c ){/* *n:盘子的个数 *a:源柱子 *b:临时柱子 *c:目标柱子*/if( n == 1 )move( n, c ) ;else{hanoi( n - 1, a, c, b ) ; //将n-1个盘子从A->B,以c为临时柱子move( n, c) ; //将最大盘从A->C,hanoi( n - 1, b, a, c) ; //将n-1个盘子从B->C,以A为临时柱子}}public static void move( int x, char y ){System.out.printf("%d -----> %c\n", x, y) ;//左边显示的是盘号,盘号越小,盘子越小//右边是目标柱子}}

?

?
<!--[endif]-->

热点排行