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

题目:

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

相关推荐
林木辛24 分钟前
LeetCode热题 15.三数之和(双指针)
算法·leetcode·双指针
张子夜 iiii29 分钟前
实战项目-----Python+OpenCV 实现对视频的椒盐噪声注入与实时平滑还原”
开发语言·python·opencv·计算机视觉
AndrewHZ31 分钟前
【3D算法技术】blender中,在曲面上如何进行贴图?
算法·3d·blender·贴图·三维建模·三维重建·pcg
2301_7703737339 分钟前
Java集合
java·开发语言
Jared_devin43 分钟前
二叉树算法题—— [蓝桥杯 2019 省 AB] 完全二叉树的权值
数据结构·c++·算法·职场和发展·蓝桥杯
静西子43 分钟前
LLM大语言模型部署到本地(个人总结)
人工智能·语言模型·自然语言处理
cxr8281 小时前
基于Claude Code的 规范驱动开发(SDD)指南
人工智能·hive·驱动开发·敏捷流程·智能体
Billy_Zuo1 小时前
人工智能机器学习——决策树、异常检测、主成分分析(PCA)
人工智能·决策树·机器学习
啊?啊?1 小时前
18 从对象内存到函数调用:C++ 虚函数表原理(继承覆盖 / 动态绑定)+ 多态实战
开发语言·c++·多态原理
bkspiderx1 小时前
C++标准库:文件流类
开发语言·c++