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

题目:

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

相关推荐
T.Ree.3 分钟前
【数据结构】_树和二叉树
c语言·开发语言·数据结构
满怀10158 分钟前
【OpenCV图像处理实战】从基础操作到工业级应用
图像处理·人工智能·python·opencv·计算机视觉·编程入门
AI视觉网奇9 分钟前
四元数转旋转矩阵
人工智能·pytorch·python
夜夜敲码14 分钟前
C语言教程(十五):C 语言函数指针与回调函数详解
c语言·开发语言
Cao12345678932115 分钟前
判断是否为闰年(C语言)
c语言·开发语言
wuqingshun31415925 分钟前
蓝桥杯17. 机器人塔
c++·算法·职场和发展·蓝桥杯·深度优先
是发财不是旺财26 分钟前
跟着deepseek学golang--认识golang
开发语言·后端·golang
爱编程的鱼28 分钟前
Windows 各版本查找计算机 IP 地址指南
人工智能·windows·网络协议·tcp/ip·tensorflow
Apifox.28 分钟前
Apifox 4月更新|Apifox在线文档支持LLMs.txt、评论支持使用@提及成员、支持为团队配置「IP 允许访问名单」
前端·人工智能·后端·ai·ai编程