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

题目:

条件:现有 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:

相关推荐
方见华Richard2 分钟前
自指-认知几何架构 可行性边界白皮书(务实版)
人工智能·经验分享·交互·原型模式·空间计算
lightqjx4 分钟前
【C++】unordered系列的封装
开发语言·c++·stl·unordered系列
冬奇Lab6 分钟前
AI时代的"工具自由":我是如何进入细糠时代的
人工智能·ai编程
天天爱吃肉821818 分钟前
跟着创意天才周杰伦学新能源汽车研发测试!3年从工程师到领域专家的成长秘籍!
数据库·python·算法·分类·汽车
zh_xuan19 分钟前
kotlin lazy委托异常时执行流程
开发语言·kotlin
alphaTao29 分钟前
LeetCode 每日一题 2026/2/2-2026/2/8
算法·leetcode
m0_7155753430 分钟前
使用PyTorch构建你的第一个神经网络
jvm·数据库·python
CODECOLLECT31 分钟前
技术解析|MDM移动设备管理系统无终身买断制度的底层逻辑
人工智能
甄心爱学习32 分钟前
【leetcode】判断平衡二叉树
python·算法·leetcode
孤舟晓月35 分钟前
Langchain 1.0后astream_events事件类型及生命周期简析
langchain·大模型·langgraph