JAVA之渔夫分鱼的问题
JAVA之渔夫分鱼的问题
问题描述:
* 甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐。* 当晚返航时,他们发现有7筐装满了鱼,* 还有7筐只装了半筐鱼,另外7筐则是空的。* 由于他们没有秤,只好通过目测认为7个满筐鱼的重量是相等的* ,7个半筐鱼的重量也是相等的。在不将鱼倒出来的前提下* ,怎么将鱼和筐平分为三份?*
如图所示:
代码如下:
/*** */
package javaLearn;/*** @author Administrator*qq:1012885458*/
public class 渔夫分鱼 {// 满 半满 空 1满 每个人都平分到3.5个 public static void main(String[] args) {//用个二维数组来存储三个渔民的方案;int [][] fishMan=new int[3][3];System.out.println("可能存在的分配方案:");for(int m=1;m<=3;m++) {//m代表第一个人分配到的满框数;fishMan[0][0]=m;fishMan[0][1]=(int)((3.5-m)/0.5);//通过m计算半框数;fishMan[0][2]=7-fishMan[0][0]-fishMan[0][1];for(int n=1;n<=3;n++) {//第二个if(n<m) continue;//减少循环次数fishMan[1][0]=n;fishMan[1][1]=(int)((3.5-n)/0.5);if(fishMan[1][1] <0) break;fishMan[1][2]=7-fishMan[1][0]-fishMan[1][1];for(int p=1;p<=3;p++) {//第三个if(p<n||p+n+m!=7) continue;fishMan[2][0]=p;fishMan[2][1]=(int)((3.5-p)/0.5);if(fishMan[2][1]<0) break;fishMan[2][2]=7-fishMan[2][0]-fishMan[2][1];//条件满足,输出结果if(fishMan[2][1]+fishMan[1][1]+fishMan[0][1]==7&&fishMan[2][0]+fishMan[1][0]+fishMan[0][0]==7) {System.out.println(" 满框数 半框数 空框数 ");for(int i=0;i<3; i++ ) {System.out.println(i+": "+fishMan[i][0]+" "+fishMan[i][1]+" "+fishMan[i][2]);}System.out.println("========================");break;}}}}}
}
JAVA之渔夫分鱼的问题相关推荐
- [C趣味编程]甲乙丙渔夫分鱼
甲.乙.丙三位渔夫出海打渔,他们随船带了21个筐. 当晚返航时,他们发现有七个筐装满了鱼,还有七个筐装了半筐鱼,另外七只则是空的. 由于他们没有秤,只好通过目测认为7个满筐的重量是相等的,七个半筐的重 ...
- C语言每日一练——第57天:递归解决分鱼问题
C语言每日一练 2021年11月13日 文章目录 题目描述 分析 代码实现 运行结果 网上参考 题目描述 A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着 ...
- 南师大C:分鱼问题2(7筐鱼)
前言 循环嵌套以满足条件,和上一个分鱼问题不是一个套路. 正文 甲.乙.丙三位渔夫出海打鱼,他们随船带了21只箩筐.当晚返航时,他们发现有7筐装满了鱼,还有7筐装了半筐鱼,另外7筐则是空的,由于他们没 ...
- Java培训一共分几个阶段
Java培训一共分几个阶段?一般培训机构的课程都是从基础知识讲起,千锋教育的Java培训课程也不例外,第一阶段为JavaEE基础,主要讲授Java基础语法.面向对象.核心类库.集合等等基础知识点,把基 ...
- python学习-综合练习五(五人分鱼(优化解)、顺向、反向推导)
文章目录 五人分鱼 顺推 反推 说明:本篇博文的知识点大部分来自 Python3 实例 五人分鱼 # A.B.C.D.E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉. # ...
- 基础学习——C语言递归解决分鱼问题
如有小伙伴想学习C语言基础,可以进群731871503进行交流学习,提升编程,共同进步 问题描述 A.B.C.D.E这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了.第二 ...
- python画鱼_Python经典五人分鱼实例讲解
A.B.C.D.E 五人在某天夜里合伙去捕鱼,到第二天凌晨时都疲惫不堪,于是各自找地方睡觉. 日上三杆,A 第一个醒来,他将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份. B 第二个醒来,也将鱼分为 ...
- JAVA中输出分两栏,老司机搞定Java 设置Word分栏
电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java 设置Word分栏的问题,如果我们遇到了Java 设置Word分栏的情况,该怎么处理怎么才能解决Java 设置W ...
- T5 根据派生类写出基类(Java) (10分)
6-1 根据派生类写出基类(Java) (10分) 裁判测试程序样例中展示的是一段定义基类People.派生类Student以及测试两个类的相关Java代码,其中缺失了部分代码,请补充完整,以保证测试 ...
最新文章
- python gpiozero,树莓派远程GPIO调试(Python + pigpio版)
- 为什么一流成功人士的闹钟都定在早晨5:57?
- Windows下安装ab
- HTML5---新标签与特性
- 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署
- INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
- python作品_专业解读 | 制作游戏、开发APP、 爬虫采集数据等背后,Python全栈专业背后还有更大的世界...
- 解决C++中multiple definition of问题
- python爬取电子书
- 说话人识别ALIZE工具包的编译
- 2021中国医疗机器人产业创新大会参会指南
- 动手学深度学习笔记3.1+3.2+3.3
- 批量替换Excel超级链接
- vue elementUI 默认事件 添加额外参数
- Elasticsearch+logstash+kibana
- cygwin 使用 zsh
- 【行业科普】一篇文读懂四大、咨询、投行、PE
- 什么是CV2以及如何安装?
- 机器学习-吃瓜教程(西瓜书+南瓜书)-神经网络
- 恭喜你,未来的CISSPer,你需要知道的背书全流程和小秘密
热门文章
- 芯准TTE宏时隙调度机制 —— 宏时隙的硬件实现
- Bootstrap Table表格分页的使用及分页数据(Excel)导出
- 搜索1Google的高级搜索技巧
- Java项目架构演变:单体应用-SOA-微服务
- 生成Word/ATU报表提示 font family not found
- JAVA类和对象(1)
- mock模拟导致测试失败的解决方法
- idea 删除复制代码所带的数字列表
- 对于运行ASP.NET程序时,提示:无法启动程序“http://localhost:XXXXX/Default.aspx”。的解决办法
- SwitchHosts!报没有权限(operation not permitted)解决方案