hanoi 塔问题_Hanoi塔

hanoi 塔问题_Hanoi塔importjava.util.Scanner;/* *汉罗塔问题 */publicclassHanoiExec{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubSystem.out.println(“请输入盘子数n”);Scanner

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
import java.util.Scanner;

/*

 * 汉罗塔问题

 */

public class HanoiExec {


public static void main(String[] args) {


// TODO Auto-generated method stub


System.out.println(“请输入盘子数n”);


Scanner sn=new Scanner(System.in);


int n=sn.nextInt();


HanoiExec hanoi=new HanoiExec();


System.out.println(“The steps to move ” +n+” disks:”);


hanoi.hanoi(n, ‘A’, ‘B’, ‘C’);


System.out.println(n+”个盘子最少需要移动”+(Math.pow(2,n)-1)+”次。”);


}





public void hanoi(int n,char one ,char two,char three){


if(n==1){


this.move(one, three);


}else{


//分三步:


//1、借助第三个柱子把第一个柱子的n-1个盘子移动到第二个柱子上


//2、把第一个柱子上的第n个盘子从第一个柱子移动最终的第三个柱子上


//3、借助第一个柱子把第二个柱子的n-1个盘子移动到第三个柱子


this.hanoi(n-1,one,three,two);


this.move(one ,three);


this.hanoi(n-1, two, one, three);


}





}


public void move(char x,char y){


System.out.println(x+”–>”+y);


}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182914.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月12日 上午8:00
下一篇 2022年10月12日 上午8:16


相关推荐

  • nginx修改默认端口方法

    nginx修改默认端口方法1 进入 nginx conf 文件 2 修改 listen 后的默认端口号改为想改的端口号 如下图 3 设置防火墙允许通过修改的端口号 1 firewall cmdzone publicadd port 90 tcppermanent firewall cmdreload3 firewall cmdquery port 90 tcp4 在基于 CentOS 或 RHEL 的 Linux 发行版中 您需要安装 policycoreut 软件包并添加 SELinux 对 N

    2026年3月18日
    2
  • 360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」

    360天擎默认卸载密码_Debian(Ubuntu/Kali)下wine的从安装、使用和卸载「建议收藏」安装wine1、安装wine32因为32位的wine可以运行32位和64位的应用程序,而64位的只能运行64位程序而在我修改这篇文章的时候,wine5.0已经出了,亲测这种方法安装的就是5.0版本的打开终端,依次执行sudodpkg–add-architecturei386sudoaptupdatesudoaptinstallwine如果安装过程有错误提示,一般按着提示输入命令…

    2026年3月8日
    5
  • C# List用法 List 实列介绍

    C# List用法 List 实列介绍 usingSystem;usingSystem.Collections.Generic;namespaceList{classProgram{staticvoidMain(stri

    2022年7月4日
    25
  • 110道Python面试题

    110道Python面试题作者 哈哈来源 python 爬虫人工智能大数据 ID pylearn 1 一行代码实现 1100 之和利用 sum 函数求和 2 如何在一个函数内部修改全局变量函数

    2026年3月26日
    2
  • matlab仿真的五个步骤,matlab仿真步骤

    matlab仿真的五个步骤,matlab仿真步骤基于matlab的MPSK的仿真流程图_计算机软件及应用_IT/计算机_专业资料…DataImport/Export:SIMULINK和MATLAB工作间数据的输入和输出设定,以及数据存储时的格式、长度等参数设置;(3)?Diagnostics:允许用户选择在仿真过程中警告信息……simulinkmatlab仿真环境教程Simulink是面向框图的仿真软件。演示一…

    2022年6月4日
    56
  • 手写一个简化版Tomcat[通俗易懂]

    手写一个简化版Tomcat

    2022年4月2日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号