12.递归汉诺塔

使用递归实现汉诺塔

public class Main {public static void move(char pos1,char pos2) {System.out.print(pos1+" => "+pos2+" ");}public static void han(int n,char pos1,char pos2,char pos3) {if(n == 1) {move(pos1,pos3);return ;}han(n-1,pos1,pos3,pos2);move(pos1,pos3);han(n-1,pos2,pos1,pos3);}public static void main(String[] args) {han(1,'A','B','C');System.out.println();han(2,'A','B','C');System.out.println();han(3,'A','B','C');}
}

求移动的次数

package test04;public class Main {static int sum = 0;public static void move(char pos1,char pos2) {System.out.print(pos1+" => "+pos2+" ");sum++;}public static void han(int n,char pos1,char pos2,char pos3) {if(n == 1) {move(pos1,pos3);return ;}han(n-1,pos1,pos3,pos2);move(pos1,pos3);han(n-1,pos2,pos1,pos3);}public static void main(String[] args) {han(1,'A','B','C');System.out.println(sum);System.out.println();sum = 0;han(2,'A','B','C');System.out.println(sum);System.out.println();sum = 0;han(3,'A','B','C');System.out.println(sum);System.out.println();}
}

在这里插入图片描述

2的n次方减去1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323549.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目初始化脚手架搭建

项目初始化脚手架搭建 仓库地址 easy-web: 一个快速初始化SpringBoot项目的脚手架 (gitee.com) 目前这个项目还是个单体项目,后续笔者有时间可能会改造成父子工程项目,将通用模块抽象出来,有兴趣的小伙伴也可以自行 CV 改造。 1、项目初始化…

接口测试测什么?一个简单问题把我难住了!

那么设计测试用例时我们主要考虑如下几个方面: 01、功能测试 接口的功能是否正确实现了 接口是否按照设计文档中来实现 (比如username参数写为了user,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实…

电商平台低价品牌要如何处理

低价会影响品牌渠道的长期发展,同时还会衍生很多问题,如为了追求低价而导致的店铺窜货、商品假货等,对于渠道来说,都是要及时解决的问题,否则渠道乱了,最终腐蚀的是品牌价值,同时还会影响经销商…

键盘事件,DOM事件流,e.keyup, e.keypress,BOM里的window对象, setInterval, clearInterval

目录 事件委托(事件代理) 键盘事件 ​编辑e.keycode 京东快递单号查询 页面加载事件 定时器setTimeout 清除定时器 监听事件: 传统的onclick对于后面的注册事件会覆盖前面的注册事件 方法监听注册方式:addEventListener() …

(NeRF学习)NeRF复现 win11

目录 一、获取源码二、环境三、准备数据集1.下载数据集方法一:官方命令方法二:官网下载数据集 2.修改配置 四、开始训练1.更改迭代次数2.开始训练方法一:方法二: 3.使用预训练模型 五、NeRF源码学习 一、获取源码 git clone http…

FCN学习-----第一课

语义分割中的全卷积网络 CVPR IEEE国际计算机视觉与模式识别会议 PAMI IEEE模式分析与机器智能汇刊 需要会的知识点: 神经网络:前向传播和反向传播 卷积神经网络:CNN,卷积,池化,上采样 分类网络&#xff1a…

DevOps(10)

目录 56.Docker的架构? 57.Docker镜像相关操作有哪些? 58.Docker容器相关操作有哪些? ​编辑59.如何查看Docker容器的日志? 60.如何启动Docker容器?参数含义? 61.如何进入Docker后台模式?有…

数字孪生与3D建模技术的结合

数字孪生与3D建模技术的结合可以带来更精细、真实的数字化表示,支持多领域的应用。以下是数字孪生在3D建模技术中的一些应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.产品设计和制…

CISCO AIR-CT2504-15-K9 AP 注册不上常见问题

CISCO AIR-CT2504-15-K9 思科 2504 无线控制器 我们从官网了解到2023年4月12日已终止技术支持,最近这两天发现15个AP,掉了10个,剩5个在线,其中有10个AP 无法注册,提示:Not joined 从MANAGEMENT->Logs-&…

使用mysql查询当天、近一周、近一个月及近一年的数据以及各种报表查询sql

1.mysql查询当天的数据 1 select * from table where to_days(时间字段) to_days(now()); 2.mysql查询昨天的数据 1 select * from table where to_days(now( ) ) - to_days( 时间字段名) < 1 3.mysql查询近一个月的数据 1 SELECT * FROM table WHERE date(时间字段) …

宽压输入1.5KV隔离直流高压输出电源模块

GRC系列低成本小体积宽电压输入隔离高压模块电源&#xff0c;是一款业界的隔离稳压型DC-DC高电压转换器&#xff0c;可在宽范围波动的不稳定电压输入环境中运行&#xff0c;通过模块的内部调整电路可以生成隔离稳压的直流高电压输出。产品外壳采用铝壳喷塑防腐设计&#xff0c;…

Ansible的安装及简单使用

## Ansible的安装及简单使用 ## 一.Ubuntu安装Ansible sudo apt update sudo apt install ansible #使用以下命令检查安装是否成功&#xff1a; ansible --version二.配置Ansible #进入配置文件目录 cd /etc/ansible/ ls#文件含义 ansible.cfg #ansible配置文件,默认基本不用…