3_16337341_朱志儒1
![preview](https://dl-preview.csdnimg.cn/86277261/0001-086af102afaeb4083a17c34fe412728d_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
这篇编程作业包含两个问题,我们将逐一解析。 **问题1:Two Buttons** 问题描述了一个设备有两个按钮,一个红色按钮会将显示的数字乘以2,一个蓝色按钮会将数字减去1,目标是从初始数字n得到目标数字m,要求计算达到目标所需的最小点击次数。 解题策略是逆向思考,从目标数字m开始,根据按钮的功能逐步恢复到起始数字n。具体步骤如下: 1. 如果m小于n,直接输出n-m,因为只需要按蓝色按钮m-n次即可。 2. 如果m不小于n,初始化计数器count为0。 3. 检查m是否为奇数,如果是奇数,增加m并增加count,因为需要先通过蓝色按钮减小到偶数再翻倍。 4. 对于偶数m,比较m和n的大小: - 如果m大于n,除以2并增加count,因为翻倍会让m更接近n。 - 如果m小于n,增加m并增加count,因为需要继续通过蓝色按钮减少数值。 5. 重复上述步骤,直到m等于n,输出count。 给出的代码实现了这个逻辑,符合题目要求。 **问题2:Shortest path of the king** 这是一个经典的棋盘上国王移动的问题。国王在国际象棋的棋盘上,需要从位置s移动到位置t,要求找到最少的步数。国王每次可以向上、下、左、右四个方向移动一格。 解决这个问题通常使用图论中的最短路径算法,如BFS(广度优先搜索)或Dijkstra算法。由于棋盘大小限制不大,BFS是一个简单且高效的解决方案。 BFS的基本思想是从起点s开始,逐步探索所有可能的一步之遥的节点,然后是两步之遥的节点,以此类推,直到找到目标节点t。在探索过程中,记录每个节点到达的步数,这样当找到目标节点时,步数即为国王从s到t的最短路径。 在实现时,使用一个队列存储待访问的节点,以及一个数组或哈希表记录每个节点的访问状态和到达步数。每次从队列中取出一个节点,检查它是否为目标节点,或者更新其邻居节点的步数。重复这个过程,直到找到目标节点。 总结,这两个问题分别涉及了基本的数学逻辑和图论中的最短路径问题。第一题通过简单的数学分析和循环操作解决,第二题则需要理解图论的基本概念和广度优先搜索的算法。对于初学者来说,这些问题提供了很好的练习机会,有助于提升算法思维和编程技能。
![](https://csdnimg.cn/release/download_crawler_static/86277261/bg1.jpg)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/1f88641df54f47fb9d221bc187ac02b7_weixin_35796591.jpg!1)
- 粉丝: 15
- 资源: 297
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0