百钱买百鸡问题

百钱买百鸡问题

题目:公元前5世纪末,中国古代数学家张丘建在他的《算经》中提出了著名的 “百钱买百鸡问题”:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁、母、雏各几何?即一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,雏鸡一钱3只,问一百只鸡中公鸡、母鸡、雏鸡各多少?

三种解法

O(n)

思路:利用高中的参数方程求解

 /**
     * x + y + z = 100
     * 5 * x + 3 * y + z / 3 =100
     * 引用参数t来表示 x、y、z得:
     *
     * x = ( 4 * t - 300 ) / 3 ①
     * y = ( 600 - 7 * t ) / 3 ②
     * z = t ③
     *
     * 有①②得:
     * 4 * t >= 300 ④
     * 600 - 7 * t >= 0 ⑤
     *
     * ④⑤可得
     * 75 =< t

O(n**2)

思路:确定公鸡和母鸡,然后用体中的两个公式代换

public static void way2(){      //O(n**2)
    //公鸡数量:x 母鸡数量:y 雏鸡数量:z
    int x,y,z;
    //公鸡最多买20只
    for (x=0;x

O(n**3)

思路:公鸡母鸡雏鸡都全循环一遍

public static void way3(){      //O(n**3)
        //公鸡数量:x 母鸡数量:y 雏鸡数量:z
        int x, y, z;
        //公鸡最多买20只
        for (x = 0; x < 20; x++) {
            //母鸡最多买33只
            for (y = 0; y < 33; y++) {
                //雏鸡最多买300只
                for (z = 3; z < 300; z = z + 3) {
                    //找到符合这两个公式的x、y、z
                    if ((5 * x + 3 * y + z / 3 == 100) && (x + y + z == 100)) {
                        System.out.println("公鸡数:" + x + "母鸡数" + y + "小鸡数" + z);
                    }
                }
            }
        }
    }

Original: https://www.cnblogs.com/buchizicai/p/15990777.html
Author: 不吃紫菜
Title: 百钱买百鸡问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/578716/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 模拟一个简单的tomcat

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月11日
    0110
  • PYTORCH: 60分钟 | TORCH.AUTOGRAD

    torch.autograd 是PyTorch的自动微分引擎,用以推动神经网络训练。在本节,你将会对autograd如何帮助神经网络训练的概念有所理解。 背景 神经网络(NNs)是…

    Linux 2023年6月16日
    0163
  • PowerShell yarn : 无法加载文件 C:UsersAdminAppDataRoamingnpmyarn.ps1,因为在此系统因为在此系统上禁止运行脚本。

    1、搜索powershell,右键以管理员身份运行 2、若要在本地计算机上运行您编写的未签名脚本和来自其他用户的签名脚本,请使用以下命令将计算机上的 执行策略更改为 RemoteS…

    Linux 2023年5月28日
    0110
  • OpenStack-iaas之“先点”云平台安装

    1.认识OpenStack 1.云计算的起源 早在2006年3月,亚马逊公司首先提出弹性计算云服务。2006年8月9日,谷歌公司首席执行官埃里克·施密特(Eric Schmidt)…

    Linux 2023年6月13日
    088
  • ASP.NET Core 2.2 : 二十. Action的多种数据返回格式处理机制

    上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的”逆过程”,如何将请求结果按照客户端想要的格式返回去。 …

    Linux 2023年6月7日
    0129
  • linux常用命令(持续更新中…)

    查看所有开机启动服务:systemctl list-unit-files # 按Enter翻页 查看所有开机启动服务:systemctl list-unit-files | gre…

    Linux 2023年6月7日
    080
  • Android BLE 蓝牙开发——扫码枪基于BLESSED

    一、蓝牙模式HID与BLE 当扫码枪与手机连接时,通常采用的是 蓝牙HID(Human Interface Device)模式。本质上是一个把扫码枪作为一个硬件键盘,按照键盘协议把…

    Linux 2023年6月13日
    0104
  • Laxcus集群操作系统桌面图标优化和算法

    泰山不拒细壤,故能成其高;江海不择细流,故能成其深。全抱之末生于毫末,九层之台起于累土,千里之行始于足下。 任何一个完善成熟的产品,都是从微小的改进开始! Laxcus集群操作系统…

    Linux 2023年6月6日
    092
  • SHELL编程-牛客网题目(持续更新..)

    SHELL编程题目及solution (牛客网) 描述:写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数示例:假设 nowcoder.txt 内容如下: #…

    Linux 2023年6月7日
    092
  • phpcms全文检索功能实现(集成sphinx)

    sphinx配置 sphinx是俄罗斯人开发的一个搜索引擎,基于c++编写,具有强大的检索能力,本身支持中文单个字符的检索,中文分词需要额外的插件Coreseek,但该插件已很久未…

    Linux 2023年6月13日
    0119
  • 列表初始化

    C++11将列表初始化(大括号初始化)作为一种通用的初始化方式.可用于所有类型. 数组以前就可以用列表初始化,但 C++11 中的列表初始化新增了一些功能: 初始化数组时,可省略等…

    Linux 2023年6月13日
    076
  • 【微服务】- 配置中心-Nacos

    微服务 – 配置中心 – Nacos 🏆 一个有梦有戏的人 @怒放吧德德🔥分享学习心得,欢迎指正,大家一起学习成长! 今天的学习任务就是学习使用Nacos作…

    Linux 2023年6月6日
    0104
  • jdk 安装(图形界面版)

    在这里为大家提供jdk8的Linux版安装包,下载链接: 提前将jdk安装包放入U盘中,插入U盘,VMware会自动识别,选择将U盘接入虚拟机 打开终端 为避免权限不足,开始之前确…

    Linux 2023年6月8日
    0109
  • Shell文件属性的判断与比较

    Shell支持对文件属性的判断,常用的文件属性操作符很多,如下表所示。更多文件属性操作符可以参考命令帮助手册man test [root@centos7&#xFF5E;]#…

    Linux 2023年6月6日
    083
  • QT删除整个文件夹

    故事背景:因为客户端要清理旧版本以及日志文件,所以需要删除一个月以前的所有文件夹 技术调研:在程序中我想把文件夹直接删除,但是调用QDir中的rmdir()或者rmpath()时要…

    Linux 2023年6月13日
    0106
  • 快速构建Web应用,从零学习React后台项目模版

    想要快速构建实际应用,离不开一个好的应用模版,React作为大厂出品工具,有着稳定性和可维护性的保障,同时可以使用相关的全套全家桶(React + React-router + A…

    Linux 2023年5月27日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球