前两天我老妹儿给我出了一个问题, 说是什么计算机的面试题, 哈哈哈, 太简单了,随手就写了

有100匹马和100块石头,其中马分为3种马,分别为大马,中马,小马。其中大马一匹可以托3快石头,中马可以托2块石头,2匹小马托一块石头,问需要大马,中马,小马个多少匹,能把100快石头托完,并且刚好100匹马

package com.curefun.authority;/*** 有100匹马和100块石头,其中马分为3种马,分别为大马,中马,小马。其中大马一匹可以托3快石头,中马可以托2块石头,* 2匹小马托一块石头,问需要大马,中马,小马个多少匹,能把100快石头托完,并且刚好100匹马** @author zhangke* @date 2020年1月10日11:39:57*/
public class Demo {public static void main(String[] args) {//大马的数量循环for (int big = 0; big < 101; big++) {//中马的数量循环for (int middle = 0; middle < 101; middle++) {//小马的数量循环,小马只能是偶数,因为2匹小马托一块石头for (int small = 0; small < 101; small = small + 2) {//计算马的数量int sum = big + middle + small;//计算石头的数量int sumStone = 3 * big + 2 * middle + small / 2;//对两个数量进行判断.且的关系if (sum == 100 && sumStone == 100) {System.out.println("大马的数量是:" + big + " 中马的数量是:" + middle + " 小马的数量是:" + small);}}}}}}

答案是:

大马的数量是:2 中马的数量是:30 小马的数量是:68
大马的数量是:5 中马的数量是:25 小马的数量是:70
大马的数量是:8 中马的数量是:20 小马的数量是:72
大马的数量是:11 中马的数量是:15 小马的数量是:74
大马的数量是:14 中马的数量是:10 小马的数量是:76
大马的数量是:17 中马的数量是:5 小马的数量是:78
大马的数量是:20 中马的数量是:0 小马的数量是:80

2021年4月22日19:53:05  更新,

今天遇到一个大佬, 说这个算法可以想办法提高点效率, 所以就想了下, 把这个三层循环变成了双层循环.代码如下:

public static void main(String[] args) {//大马的数量循环, 最多就是34头,所以只需要循环34次.for (int big = 0; big < 100 / 3 + 1; big++) {//中马的数量循环, 最多就是50头, 所以缓存数据是51.for (int middle = 0; middle < 100 / 2 + 1; middle++) {//小马的数量循环,小马只能是偶数,因为2匹小马托一块石头int small = 100 - big - middle;//计算石头的数量int sumStone = 3 * big + 2 * middle + small / 2;//对两个数量进行判断.且的关系, 小马的数量一定是偶数if (sumStone == 100 && small % 2 == 0) {System.out.println("大马的数量是:" +big + " 中马的数量是:" + middle + " 小马的数量是:" + small);}}}}

运行的结果如下:

还是一样的结果.没有什么问题了.

马托石头问题-java(大马中马小马托石头)相关推荐

  1. 【C语言基础练习】100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、小马的数目。

    100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担.试编写程序计算大.中.小马的数目. 1 #include<stdio.h> 2 int main() 3 { 4 i ...

  2. java学习中,字符串使用(比较、构造方法)(java 学习中的小记录)

    java学习中,字符串使用(比较.构造方法)(java 学习中的小记录)作者:王可利(Star·星星) String的使用 1.在内存中是如何保存字符串. == :比较的是地址(引用数据类型) equ ...

  3. java学习中,异常和错误的简介、捕获异常、抛出异常、自定义异常、finally关键字(java 学习中的小记录)

    java学习中,异常和错误的简介.捕获异常.抛出异常.自定义异常.finally关键字(java 学习中的小记录) 参考文章: (1)java学习中,异常和错误的简介.捕获异常.抛出异常.自定义异常. ...

  4. java学习中,instanceof 关键字 和 final 关键字、值的传递(java 学习中的小记录)...

    java学习中,instanceof 关键字 和 final 关键字.值的传递(java 学习中的小记录)作者:王可利(Star·星星) instanceof 关键字 作用: 1.用来判断某个对象是否 ...

  5. java学习中,DVD管理系统纯代码(java 学习中的小记录)

    java学习中,DVD管理系统纯代码(java 学习中的小记录)作者:王可利(Star·星星) class DvdMain{public static void main (String[] args ...

  6. 百马百担问题:100匹马驮100担货物,其中大马驮3担货,中马驮2担,两匹小马驮1担。问共有大、中、小马各有多少匹?编程实现求解的算法。

    package day_2023_3_31;public class HorseTest {public static void main(String[] args) {//一百匹马,最多有33匹大 ...

  7. java web中td_Java匹马行天下之JavaWeb核心技术——JSP

    Java匹马行天下之JavaWeb核心技术--JSP JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要 ...

  8. java编程定义狗_大狗干货铺:13个java编程中的小技巧

    1.return 一个空的集合,而不是 null 如果一个程序返回一个没有任何值的集合,请确保一个空集合返回,而不是空元素.这样你就不用去写一大堆 "if else" 判断null ...

  9. Console-算法[for,if]-(大马-小马-马驹托砖)

    ylbtech-Arithmetic:Console-算法[for,if]-(大马-小马-马驹托砖) 1.A,案例 -- ======================================= ...

最新文章

  1. 求你了,不要再在对外接口中使用枚举类型了!
  2. 链家租房信息案例数据分析
  3. UI之UI View--属性及用法
  4. 1.Hadoop初步环境搭建(ssh无密码通信)
  5. poj1195 Mobile phones 二维线段树入门
  6. 如何恢复XP系统中原来的Administrator用户
  7. android studio ignore 模板,android studio git ignore
  8. F-Stack实现UDP服务端、客户端,并进行吞吐量测试的实现
  9. WDS部署服务所用的PXE引导文件
  10. Knockout应用开发指南 监控属性(Observables)
  11. 实践项目二:图书馆管理系统 总结
  12. 2021 年百度之星·程序设计大赛 - 初赛一、二
  13. esxi虚拟化服务器端口聚合,配置链路聚合组处理分布式端口组的流量
  14. vue 上传图片进行压缩图片
  15. 工厂模式之抽象工厂模式
  16. 号外: 我开通了英语专栏
  17. Semi-Supervised Semantic Image Segmentation with Self-correcting Networks:基于自校正网络的半监督语义图像分割
  18. Redis server response timeout (3000 ms) occured for command: 错位主要是set数据超长了
  19. 每日一题 | 数学神童的红眼睛与蓝眼睛问题
  20. 川土微电子|推出带隔离电源的双通道数字隔离器

热门文章

  1. 三、kotlin的类和对象(二)
  2. Redis快速入门,一篇带你系统入门,学会即加薪
  3. linux获取系统时间戳
  4. 湖南城市综合竞争力排名
  5. 3D,小白需要理解的点云概念
  6. 实施日志流处理分析_通过实施了解流
  7. 群晖网络不通_尝试解决:群晖使用Zerotier内网穿透出现错误
  8. Java实战项目:新手入门小游戏——连连看超详细教程
  9. pytest parametrize 传参和启动pytest项目报错make sure your test modules/packages have valid Python names
  10. java.nio.channels.UnresolvedAddressException