百钱百鸡 java解决

题目:
我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?

百钱买百鸡的问题算是一套非常经典的不定方程的问题,题目很简单:公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱。

方法一

思路:总钱数是100 i j k 都是只 所以关系是only = i + j + k;和 money = 5 * i + 3 * j + k/3 找到关系后就让代码自己去试去吧

         int timer = 0; //计时器for (int i = 0; i < 20; i++) {//公鸡5钱一只 i代表只 20-->代表100最多买20只for (int j = 0; j < 33; j++) {//母鸡3钱一只 j代表只  33-->代表100最多买20只for (int k = 0; k < 100; k +=3) {//小鸡1钱三只  K代表只   按理说是300只 但100-->代表最多能买100只int money = 5 * i + 3 * j + k/3;  // k/3会取整 看上面k的循环 都可以被3整除 你可以解释为小鸡3只的卖int only = i + j + k;timer++;if (money == 100 && only == 100) {System.out.printf("公鸡:%d 母鸡:%d 小鸡:%d %n", i, j, k);}}}}System.out.println("运行了" + timer + "次");

结果

公鸡:0 母鸡:25 小鸡:75
公鸡:4 母鸡:18 小鸡:78
公鸡:8 母鸡:11 小鸡:81
公鸡:12 母鸡:4 小鸡:84
运行了22440次

方法二

思路:总钱数是100 i j k 都是钱 所以关系是only = i/5 + j/3 + 3*k;和 money = 5 * i + 3 * j + k/3 找到关系后就让代码自己去试去吧
这个思路小心取整问题

int timer = 0;for (int i = 0; i < 100; i+=5) {//公鸡5钱一只  i代表钱  i每次加5 你可以解释为只要买公鸡就花5 100-->理解为最多100元for (int j = 0; j < 100; j+=3) {//母鸡3钱一只  j代表钱  j每次加5 你可以解释为只要买母鸡鸡就花3 100-->理解为最多100元for (int k = 0; k < 100; k ++) {//小鸡1钱三只  k代表钱 100-->理解为最多100元int money = i + j + k;int only = i/5 + j/3 + 3*k;  //这样就不怕取整问题  看上面循环就知道原因了timer++;if (money == 100 && only == 100) {System.out.printf("公鸡:%d 母鸡:%d 小鸡:%d %n", i/5  ,j/3 , 3*k);}}}}System.out.println("运行了" + timer + "次");

结果

公鸡:0 母鸡:25 小鸡:75
公鸡:4 母鸡:18 小鸡:78
公鸡:8 母鸡:11 小鸡:81
公鸡:12 母鸡:4 小鸡:84
运行了68000次

方法三(看懂了上面下面你就更懂了 我只举一例)

思路:不过i j k 是代表钱还是只,都可以相互转换,只要小心取整问题都ok
关系为:
money = 5 * i + 3 * j + k
only = i + j + 3*k

        int timer = 0;for (int i = 0; i < 20; i++) {//公鸡5钱一只  i代表只for (int j = 0; j < 33; j++) {//母鸡3钱一只   j代表只for (int k = 0; k < 100; k ++) {//小鸡1钱三只  k代表钱  int money = 5 * i + 3 * j + k;int only = i + j + 3*k;timer++;if (money == 100 && only == 100) {System.out.printf("公鸡:%d 母鸡:%d 小鸡:%d %n", i, j, 3*k);}}}}System.out.println("运行了" + timer + "次");

结果

公鸡:0 母鸡:25 小鸡:75
公鸡:4 母鸡:18 小鸡:78
公鸡:8 母鸡:11 小鸡:81
公鸡:12 母鸡:4 小鸡:84
运行了66000次

Java程序百钱百鸡相关推荐

  1. java基础练习—逢七游戏、不死神兔、百钱百鸡、利滚利

    Java基础练习 1.1 减肥计划if版本 1.1.1 案例需求 输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:爬山 周日:好好吃一顿 pack ...

  2. Java基础重温_06:Debug模式(打断点、下一步),基础练习案例(减肥计划if,switch版本、逢七跳过、不死神兔、百钱白鸡、数组元素(求和,索引位置,反转)、判断数组是否相同、评委打分)

    1.IDEA,Debug模式 是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序. 基础练习案例 1.减肥计划if版本 案例需求 ​ 输入星期数,显示今天 ...

  3. java while求百钱买百鸡问题_java - 百钱百鸡小算法

    百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买白鸡,问 ...

  4. java - 百钱百鸡小算法

    传送门: 袁咩咩的小小博客 百钱百鸡是一个非常经典的不定方程问题,最早源于我国古代的<算经>,这是古代著名数学家张丘建首次提出的.百钱百鸡问题原文如下: 鸡翁一,值钱五,鸡母一,值钱三,鸡 ...

  5. #Java编程题-百钱百鸡

    问题: 百钱百鸡问题.用100钱买100只鸡,公鸡一只五钱,母鸡一只三钱,雏鸡三只一钱,编程计算共有几种买法(要求每种鸡至少要买1只). 自己的实现,没有什么数据结构,算法,求大神指点!! packa ...

  6. 【Java基础】Debug模式操作流程及案例:不死神兔、百钱百鸡

    目录 一.Debug模式操作流程 如何加断点 如何运行加断点的程序 点哪里 如何删除断点 二.案例:不死神兔 三.案例:百钱百鸡 一.Debug模式操作流程 Debug模式是供程序员使用的程序调试工具 ...

  7. Java基础练习题(逢七跳过、百钱百鸡、不死神兔、复利(利滚利))

    Java练习题(逢七跳过.百钱百鸡.不死神兔.复利(利滚利)) Java学习中遇到的练习题,用自己的思路解决这几个问题,新手写法,仅供参考 逢七跳过 朋友聚会的时候可能会玩一个游戏:逢七过. 规则是: ...

  8. java逻辑循环经典案例(不死神兔、百钱百鸡、逢七过、评委打分、数组翻转)

    1减肥计划: 星期一:跑步: 星期二:游泳; 星期三:慢走; 星期四:动感单车 星期五:拳击 ;星期六:爬山; 星期日:好好吃一顿. import java.util.Scanner; /*减肥计划: ...

  9. JAVA基础知识练习(减肥计划、逢七过、不死神兔、百钱百鸡、数组元素求和、数组内容相同、查找、反转、评委打分)

    案例:减肥计划1 需求: 输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:爬山: 周日:好好吃一顿 分析: (1)键盘录入一个星期数,用一个变量来 ...

最新文章

  1. 安装centos 7 桌面
  2. 利用Docker设置Node.js
  3. Maximum sum(信息学奥赛一本通-T1305)
  4. 【CloudXNS教您几招】如何让多ip域名配置游刃有余?(2)
  5. 基于vue的nuxt框架cnode社区服务端渲染
  6. cgi php是什么意思,cgi,fastcgi,php-cgi,php-fpm 是什么
  7. Vue 配置请求本地Json数据
  8. 手机U盘制作成系统启动盘后在手机端无法识别
  9. python爬取起点中文网_Python3爬取起点中文网阅读量信息,解决文字反爬~~~附源代码...
  10. 实验6 地理数据可视化
  11. python 负数索引
  12. 网站内容收录不稳定/不收录的原因分析
  13. 莫再用唐僧式的唠叨施加影响----家长式管理者实施HOLA的障碍
  14. 均匀球体模型的重力异常正演
  15. python 提取sogou中文语料库
  16. hihoCoder1054—滑动解锁(深搜)
  17. 京东第二轮裁员来袭,套路满满:假装劝退,劝员工找工作,贬低工作能力,忽悠员工不走仲裁!...
  18. 遗传算法的运用(Python版)
  19. 【转】异常清晰GeoEye-1 卫星照片来了
  20. Sniffer的讨论

热门文章

  1. 使用阿里云PCDN降低内容分发成本
  2. Android——一个简单的音乐APP(二)
  3. 基于java web的在线电影网_视频点播系统-计算机毕业设计
  4. ZYNQ裸板:DDR篇
  5. 容斥原理与广义容斥原理
  6. 幻想乡三连C:狂飙突进的幻想乡
  7. 【渝粤题库】陕西师范大学292011 初级微观经济学 作业(高起专)
  8. 如何对某一个文件夹下的所有文件快速重命名
  9. 我现在的笔记有哪几个地方?
  10. 【已解决】Word转换PDF时自动更新域导致图片表格的引用编号全部乱掉