page contents

python基础编程100例:第19期—百钱百鸡

本文讲述了python基础编程100例:第19期—百钱百鸡!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-03-c74q3kJ6622e9fbe78f32.png

本文讲述了python基础编程100例:第19期—百钱百鸡!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

第19期—百钱百鸡

1 问题描述

我国古代数学家张丘建在《算经》一书中提出了著名的“百钱买百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

意思是:公鸡一只5元,母鸡一只3元,小鸡3只1元。如何用100元买100只鸡,其中公鸡,母鸡,小鸡的数量各是多少?


2 解题思路

假设公鸡、母鸡、小鸡的数量分别为X,Y,Z,所以X、Y、Z都大于或等于零

根据公鸡、母鸡、小鸡的数量关系和价格关系判断其数量,可用for循环遍历每种鸡的数量,计算结果

输出正确结果


3 解题方法

方法一:枚举法

n = 0

for x in range(21):

for y in range(34):

z = 100 - x - y

if 5 * x + 3 * y + z / 3 == 100:

print(f'公鸡{x}只,母鸡{y}只,小鸡{z}只')

n += 1

print(f'一共有{n}种买法')


第1行: 创建变量 n, 用来存储购买的方法数,初始赋值为 0

第2行: 变量 x 表示公鸡的数量,如果用100元全部购买公鸡,最多可购买20只,用for循环遍历公鸡的数量

第3行: 变量 y 表示母鸡的数量,如果用100元全部购买母鸡,最多可购买33只,用for循环遍历母鸡的数量

第4行: 变量 z 表示小鸡的数量,三种鸡的数量共100只,所以 z = 100 - x - y

第5-6行: 每只公鸡5元,每只母鸡3元,每只小鸡 1/3 元,用 if 语句判断,若购买三种鸡花费的总额为100,则用print函数输出每种鸡的数量

第7行: 变量 n 在每次循环后都在原有的基础上加 1

第8行: 用print函数输出共有多少种购买方法


方法二:公式推导法

n = 0

for x in range(0, 14, 4):

    y = 25 - 7 * x / 4

    z = 100 - x - y

    if 5 * x + 3 * y + z / 3 == 100:

        print(f'公鸡{x}只,母鸡{y}只,小鸡{z}只')

        n += 1

print(f'一共有{n}种买法')

第1行: 创建变量 n, 用来存储购买的方法数,初始赋值为 0

第2行: 变量 x 表示公鸡的数量,根据公鸡和母鸡的数量关系推导,可知公鸡 x 的取值范围是 0 到 14,由于 x 是4的倍数,所以range函数步长为4

第3行: 变量 y 表示母鸡的数量,根据公鸡和母鸡的数量关系推导,可知y = 25 - 7/4 x

第4行: 变量 z 表示小鸡的数量,三种鸡的数量共100只,所以 z = 100 - x - y

第5-6行: 每只公鸡5元,每只母鸡3元,每只小鸡 1/3 元,用 if 语句判断,若购买三种鸡花费的总额为100,则用print函数输出每种鸡的数量

第7行: 变量 n 在每次循环后都在原有的基础上加 1

第8行: 用print函数输出共有多少种购买方法


attachments-2022-03-1j7SaftH622e9f5c5890f.png

由于 x, y 是正整数,所以可知以下三条结论:

x 是4的倍数

0<=7/4x <= 25, 即 0 <= x <= 14

y = 25 - 7/4 x

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-vKrCwMF362919653355c5.jpeg

  • 发表于 2022-03-14 09:52
  • 阅读 ( 943 )
  • 分类:Python开发

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章