Java实验经典算法:兔子抓人问题
问题:一座山上有10个山洞,一天,小明和小红在山上玩捉迷藏,小明说:“我先把10个山洞从1-10编上号,你从10号洞出发,先到1号洞找我,第二次隔1个洞找我,第三次隔2个洞找我,以后以此类推,次数不限。” 小红同意了,但她从早到晚进洞1000次,也没有找到小明, 试编写一程序,算一算小明可能藏在几号洞中?
(此处用截图或文字的方式阐述你的答案或者操作过程)
public class hole {public static void main(String args[]){int i,k;int j=0;int hn[]=new int[10];for(i=0;i<10;i++)//数组赋初值{hn[i]=0;}for(k=1;k<=1000;k++)//循环寻找1000次{if(k<=4)//寻找次数小于等于4的情况{j=(j+k)%10;hn[j]=1;//进洞则为1}else//大于4时{j=(j+k+1)%10;hn[j]=1;} }for(i=0;i<10;i++){if(hn[i]!=1)//1为进洞,0为没进洞{System.out.println("小明可能藏在:"+i+"号洞中");i++;}}}
}
运行结果显示:
思路详解:(算法解析)
将10个洞设为一个长度为10的数组(将下标为0的位置作为10号洞位置),设置一个for语句外循环,执行1000次,取环型循环数组,进洞设为 1,否则设为0,判断0或1,来判断进没进洞。
Java实验经典算法:兔子抓人问题相关推荐
- java语言算法描述_六大java语言经典算法
在程序员们进行编程的时候,对各种数据的处理是少不了的,java语言算法在这个时候就十分重要了.数据算法有很多种,也并不区分哪种计算机语言使用,但是有程序员们常用的java语言经典算法,下面就简单介绍一 ...
- Java实现经典算法
二分查找算法 二分查找法作为一种常见的查找方法,其只适用于从有序的队列中进行查找,可以将原本是线性时间复杂度O(n)提升到了对数时间复杂度O(log n),大大缩短了搜索时间. /*** @desc ...
- java 数据结构经典算法
程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为 ...
- Java实现经典算法题:兔子产仔
目录 题目 分析 解答 方法一:递归算法 方法二:非递归,直接循环计算总数 方法三:直接利用数学公式法:f(n)={[(1+5^0.5)/2]^n - [(1-5^0.5)/2]^n}/(5^0.5) ...
- java 排序经典算法,经典排序算法(java版)
交换排序(冒泡排序.快速排序),选择排序(直接选择排序.堆排序),插入排序(直接插入排序.希尔排序) 1.冒泡排序算法的运作如下:(从后往前) 比较相邻的元素.如果第一个比第二个大,就交换他们两个. ...
- java贪心,java实现贪心算法
并证明了贪心算法解决此问题的有效性,且进行了实例验证,并进 行了复杂度分析,此算法是解决资源组合规划问题较好的方法. 关键词:贪心算法;java 程序;复杂度分析;...... 数据结构与算法 实验名 ...
- JAVA经典算法50题(转)
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1] 题目:古典问题:有一对兔子, ...
- java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!
JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...
- java求最大公约数_10道java经典算法题,小白必备,每一题都能提升你的java能力...
JAVA经典算法 跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发! 更多java资料可以私信我领取! [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每 ...
最新文章
- HighChart学习-更新数据data Series与重绘
- weblogic 12c 一键静默建域、集群、受管,计算机以及添加受管到集群
- 大比拼:用24种可视化工具完成同一项任务的心得体会
- 初识java_初识java
- Winform中使用OpenFileDialog选择文件打开并获取文件路径
- boost::mp11::mp_unique_if相关用法的测试程序
- JDK6u25里添加的按线程统计分配内存量: JMX
- javascript中children和childNodes的区别
- 从零开始学视觉Transformer(4):ViT模型全流程解析
- git ssh拉取代码_阿里云搭建git服务器
- BugkuCTF-Reverse题easy-100(LCTF)
- centos7搭建单机kafka集群
- 2 亚马逊_索泰称仅亚马逊渠道就收到2万块RTX 3080显卡订单,无法按时发货
- 千万级分页存储过程结合Repeater+Aspnetpager7.2实现
- 串口类QextSerialPort
- HttpClients调用restful接口get,post,put,delete接口工具类
- LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义
- I2C(smbus pmbus)和SPI分析
- c# 正则表达式 Group
- pyinstaller打包执行文件报错NameError: name ‘defaultParams‘ is not defined问题解决方案
热门文章
- 无线电测距误差的来源
- TINA超级好用的电路仿真软件 中文版 下载 含用户指南入门使用教程
- Unite 2017 | 从《闹闹天宫》看MOBA游戏里的网络同步技术
- 华为linux 蓝牙鼠标,【华为鼠标】华为蓝牙鼠标开箱,华为鼠标怎么连接电脑_什么值得买...
- os.listdir如何排序
- 1024祝青春少年!!!
- 十二星座的一些基本知识
- 中低岗位饱和,内卷严重,一名普通软件测试员未来的铁饭碗究竟是什么?
- python模拟声音输出_声音的输入输出
- maya如何查看资源大纲_Maya技巧之物体的显示与隐藏 大纲视图的使用