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

题目:

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

相关推荐
AcaDesign27 分钟前
国家/省部市级科技奖答辩PPT_科技进步奖_自然科学奖_技术发明奖|WordinPPT
大数据·人工智能·科技·powerpoint
caimouse1 小时前
ReactOS 窗口系统分析(23):键盘 — keyboard.c + kbdlayout.c
c语言·开发语言·计算机外设
Emily156853598702 小时前
Emerson 1C31129G03 Analog Input Module
java·开发语言·前端·plc·emerson·1c31129g03·input module
Ai-_Man2 小时前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
AI02265 小时前
探秘AI Agent软件公司:开启智能时代的创新引擎
人工智能
就叫_这个吧6 小时前
Java递归方法实现面包屑导航
java·开发语言
小O的算法实验室7 小时前
IEEE TASE,基于MPC的多无人机协同搜索竞争群体优化方法
算法
fīɡЙtīиɡ ℡7 小时前
AI 应用系统设计
java·开发语言·人工智能
小淮AI7 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能