首页 > 其他 > 详细

汉诺塔问题解决

时间:2017-04-22 17:08:09      阅读:139      评论:0      收藏:0      [点我收藏+]


 参数说明:
  n:多个盘子
  from:原杆(其上有多个盘子的杆)
  denpend:中间杆
  to:目标杆

public class Hanoi{
  public static void hanoi(int n,char from,char denpend,char to){
    if(n==1){
      System.out.println("将"+n+"号盘子"+from+"---->"+to);
    }else{
      hanoi(n-1,from,to,denpend);//将N-1盘子从原杆移动到中间杆
      System.out.println("将"+n+"号盘子"+from+"---->"+to);//将第N号盘子从原杆移动至目标杆
      hanoi(n-1,denpend,from,to);//将N-1盘子从原杆移动到中间杆
    }
  }

  public static void main(String[] args){
    char from=‘A‘;
    char denpend=‘B‘;
    char to=‘C‘;
    System.out.println("盘子移动的情况如下:");
    hanoi(4,from,denpend,to);
  }

}

 

汉诺塔问题解决

原文:http://www.cnblogs.com/fwdsz/p/6670256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!