当前位置: 首页 > news >正文

【Web题】狼追兔问题

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 1.题目描述
    • 2.解决思路
    • 3.Java 代码实现

1.题目描述

一只兔子躲进了 10 个环形分布的洞中的一个。狼在第一个洞中没有找到兔子,就隔一个洞,到第 3 个洞去找;也没有找到,就隔 2 个洞,到第 6 个洞去找;以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?

2.解决思路

既然狼总是找不到兔子,说明在某次寻找之后,狼就进入了一个无限重复的循环当中,根据题意,我们可以得出一个递归公式 f(n)=f(n-1)+n (n > 1),f(n)表示第 n 次找的洞,

目前已知 f(1)=1

f(1)=1

f(2)=3

f(3)=6

f(4)=10

f(5)=15%10=5

当列到 21 次时,发现开始重复了:
前 20 项:1 3 6 10 5 1 8 6 5 5 6 8 1 5 10 6 3 1 10 10
20 项后:1 3 6 10…

为了方便理解,简单画了一个草图,可以清楚的看到狼每次走的桶位。

image-20231123231356943

3.Java 代码实现

详细说一下题解代码,初始化一个容量为 10 的数组,然后在数组里面全部填充值为 1,代表兔可能存在的桶位。

因为题目说了可能出现追不上的情况,我们假设在 1000 次以内进入了一个狼追兔的死循环。

设 n 为狼走的步数, n += (i + 1);即为第 i+1 次访问的桶位,因为是没找到的死循环,所以设置该桶位为 0。

最后遍历初始数据,当桶位的数值为 1 时表示没有被访问过,也是兔子可能躲藏的位置。

public class WolfFallingRabbit {public static void main(String[] args) {int[] a = new int[10];// 设置数组初值for (int i = 0; i < 10; i++) {a[i] = 1;}int n = 0;// 穷举搜索for (int i = 0; i < 1000; i++) {n += (i + 1);int x = n % 10;a[x] = 0;  // 未找到,置0}// 输出结果for (int i = 0; i < 10; i++) {if (a[i] == 1) {System.out.println("可能在第" + i + "个洞");}}}
}

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

http://www.lryc.cn/news/240997.html

相关文章:

  • 4-Docker命令之docker info
  • QT 中的元对象系统
  • 在两个java项目中实现Redis的发布订阅模式
  • 执行shell脚本提示syntax error: unexpected end of file
  • 信也科技发布2023年Q3财报:数字金融服务业务增长稳健,持续拉动实体消费
  • Springcloud可视化物联网智慧工地云SaaS平台源码 支持二开和私有化部署
  • 51单片机应用从零开始(七)·循环语句(if语句,swtich语句)
  • Web服务器(go net/http) 处理Get、Post请求
  • Unity中颜色空间Gamma与Linear
  • Word/PPT/PDF怎么免费转为JPG图片?
  • 使用docker命令_进入容器_登录mysql服务_并执行sql语句---Docker工作笔记005
  • PMP 考试的含金量怎么样?
  • 2023亚太杯数学建模A题思路代码分析
  • Qt实现自定义IP地址输入控件(百分百还原Windows 10网络地址输入框)
  • Linux下的C++ socket编程实例
  • 4.常见面试题--操作系统
  • YOLOv8训练自己的目标检测数据集
  • 代码随想录算法训练营第三十二天| 122 买卖股票的最佳时机 || 55 跳跃游戏 45 跳跃游戏 ||
  • 聚类笔记/sklearn笔记:Affinity Propagation亲和力传播
  • Linux常用操作 Vim一般使用 SSH介绍 SSH密钥登录
  • Hadoop技术与应用的习题
  • 4.4 抗锯齿
  • vue-router 路由权限,路由导航守卫
  • 2022最新版-李宏毅机器学习深度学习课程-P49 GPT的野望
  • 应用软件安全编程--28SSL 连接时要进行服务器身份验证
  • 深度学习之七(深度信念网络和受限玻尔兹曼机器)
  • CTF-PWN-QEMU-前置知识
  • iEnglish全国ETP大赛:教育游戏助力英语习得
  • 租车系统开发/多功能租车平台微信小程序源码/汽车租赁系统源码/汽车租赁小程序系统
  • Nevron Vision for .NET 2023.1 Crack