经典算法-枚举法(百钱买百鸡问题)

题目:

条件:现有 100 元,一共要买公鸡、母鸡、小鸡三种鸡,已知公鸡 5 元一只,母鸡 3 元一只,1 元可以买三只小鸡。

要求:公鸡、母鸡、小鸡都要有,一共买 100 只鸡。有哪几种买法,公鸡、母鸡、小鸡分别是多少只?

思路:

此题是一个三元一次方程。

假设公鸡、母鸡、小鸡分别有 x只,y只,z只。

条件1:5x + 3y + 1/3z = 100(元);

条件2:x + y + z = 100(只);得出 z = 100-x-y;

条件1*3 - 条件 2 得出:

14x + 8y = 200;y = (100-7x)/4;7x < 100 得出 x < 15;

方法1:

复制代码
for x in range(1,21):            # 外层循环控制公鸡数x在1~20
    for y in range(1,34):        # 内层循环控制母鸡数y在1~33
        z = 100-x-y              # 小鸡数z的值受x和y值的制约
        if z%3==0 and 5*x+3*y+z//3==100:    # 小鸡数z应该是三的倍数
            print("cock=",x,"hen=",y,"chicken=",z)

输出:

复制代码
cock= 4 hen= 18 chicken= 78
cock= 8 hen= 11 chicken= 81
cock= 12 hen= 4 chicken= 84

方法2:

相关推荐
码云数智-园园15 分钟前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
吴佳浩27 分钟前
GPU 编号进阶:CUDA\_VISIBLE\_DEVICES、多进程与容器化陷阱
人工智能·pytorch·python
C++ 老炮儿的技术栈32 分钟前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl33 分钟前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
吴佳浩1 小时前
GPU 编号错乱踩坑指南:PyTorch cuda 编号与 nvidia-smi 不一致
人工智能·pytorch·nvidia
Liu628881 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
小饕1 小时前
苏格拉底式提问对抗315 AI投毒:实操指南
网络·人工智能
星辰_mya1 小时前
一封AI的介绍信
大模型·ai编程
IT猿手1 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
全栈凯哥1 小时前
18.Python中的导入类完全指南
python