问题:一座山上有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实验经典算法:兔子抓人问题相关推荐

  1. java语言算法描述_六大java语言经典算法

    在程序员们进行编程的时候,对各种数据的处理是少不了的,java语言算法在这个时候就十分重要了.数据算法有很多种,也并不区分哪种计算机语言使用,但是有程序员们常用的java语言经典算法,下面就简单介绍一 ...

  2. Java实现经典算法

    二分查找算法 二分查找法作为一种常见的查找方法,其只适用于从有序的队列中进行查找,可以将原本是线性时间复杂度O(n)提升到了对数时间复杂度O(log n),大大缩短了搜索时间. /*** @desc ...

  3. java 数据结构经典算法

    程序1]   题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?   1.程序分析:   兔子的规律为 ...

  4. Java实现经典算法题:兔子产仔

    目录 题目 分析 解答 方法一:递归算法 方法二:非递归,直接循环计算总数 方法三:直接利用数学公式法:f(n)={[(1+5^0.5)/2]^n - [(1-5^0.5)/2]^n}/(5^0.5) ...

  5. java 排序经典算法,经典排序算法(java版)

    交换排序(冒泡排序.快速排序),选择排序(直接选择排序.堆排序),插入排序(直接插入排序.希尔排序) 1.冒泡排序算法的运作如下:(从后往前) 比较相邻的元素.如果第一个比第二个大,就交换他们两个. ...

  6. java贪心,java实现贪心算法

    并证明了贪心算法解决此问题的有效性,且进行了实例验证,并进 行了复杂度分析,此算法是解决资源组合规划问题较好的方法. 关键词:贪心算法;java 程序;复杂度分析;...... 数据结构与算法 实验名 ...

  7. JAVA经典算法50题(转)

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/51097928 JAVA经典算法50题 [程序1]   题目:古典问题:有一对兔子, ...

  8. java经典100例算法题_10道java经典算法题,每一题都能帮你提升java水平!

    JAVA经典算法题 [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子 ...

  9. java求最大公约数_10道java经典算法题,小白必备,每一题都能提升你的java能力...

    JAVA经典算法 跪求关注,祝关注我的人都:身体健康,财源广进,福如东海,寿比南山,早上贵子,从不掉发! 更多java资料可以私信我领取! [程序1] 题目:古典问题:有一对兔子,从出生后第3个月起每 ...

最新文章

  1. HighChart学习-更新数据data Series与重绘
  2. weblogic 12c 一键静默建域、集群、受管,计算机以及添加受管到集群
  3. 大比拼:用24种可视化工具完成同一项任务的心得体会
  4. 初识java_初识java
  5. Winform中使用OpenFileDialog选择文件打开并获取文件路径
  6. boost::mp11::mp_unique_if相关用法的测试程序
  7. JDK6u25里添加的按线程统计分配内存量: JMX
  8. javascript中children和childNodes的区别
  9. 从零开始学视觉Transformer(4):ViT模型全流程解析
  10. git ssh拉取代码_阿里云搭建git服务器
  11. BugkuCTF-Reverse题easy-100(LCTF)
  12. centos7搭建单机kafka集群
  13. 2 亚马逊_索泰称仅亚马逊渠道就收到2万块RTX 3080显卡订单,无法按时发货
  14. 千万级分页存储过程结合Repeater+Aspnetpager7.2实现
  15. 串口类QextSerialPort
  16. HttpClients调用restful接口get,post,put,delete接口工具类
  17. LVS负载均衡中arp_ignore和arp_annonuce参数配置的含义
  18. I2C(smbus pmbus)和SPI分析
  19. c# 正则表达式 Group
  20. pyinstaller打包执行文件报错NameError: name ‘defaultParams‘ is not defined问题解决方案

热门文章

  1. 无线电测距误差的来源
  2. TINA超级好用的电路仿真软件 中文版 下载 含用户指南入门使用教程
  3. Unite 2017 | 从《闹闹天宫》看MOBA游戏里的网络同步技术
  4. 华为linux 蓝牙鼠标,【华为鼠标】华为蓝牙鼠标开箱,华为鼠标怎么连接电脑_什么值得买...
  5. os.listdir如何排序
  6. 1024祝青春少年!!!
  7. 十二星座的一些基本知识
  8. 中低岗位饱和,内卷严重,一名普通软件测试员未来的铁饭碗究竟是什么?
  9. python模拟声音输出_声音的输入输出
  10. maya如何查看资源大纲_Maya技巧之物体的显示与隐藏 大纲视图的使用