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代码,其中缺失了部分代码,请补充完整,以保证测试 ...
最新文章
- 区块链最积极的布局者:国内5大银行已将“区块链”应用到5大场景当中
- 35个设计一流的美味的水果壁纸欣赏
- RMAN删除归档日志不释放问题
- Hashcat从入门到入土(二)
- Linux_学习_Day3_bash
- (转)ElasticSearch教程——汇总篇
- 视频监控、直播——基于opencv,libx264,live555的RTSP流媒体服务器 (zc301P摄像头)By Chain_Gank...
- 美国下注15亿美元重点搞芯片!电子复兴5年计划首批入围项目曝光
- Webpack的基本配置
- c语言单片机程序设计例,单片机 C语言 程序设计100例
- PROTELL99se复制粘贴功能(元件库)
- 小型pascal编译器C语言代码,Pascal简单编译器
- Python函数总结大全(函数定义,参数种类、返回值等)
- bootstrap重置按钮
- html中加入标题居中,在html标题标记中居中的div元素
- 使用学信网认证,免费获取JetBrains学习产品
- 电子技术基础(三)_第3章集成运放及其应用__反相比例运算
- codeforces 1000A,T-sthirt
- 湖南卫视全部节目主持人名单
- 工厂模式——简单工厂模式、工厂方法模式和抽象工厂模式