Python作业题——“百钱买百鸡A”

该文章介绍了中国古代数学问题——鸡兔同笼,用现代编程方法(Python)解决。通过遍历鸡翁、鸡母和鸡雏的数量,找到所有满足条件(总价值100元且总数100只)的组合。代码实现中,限制了鸡翁不超过20只,鸡母不超过33只,鸡雏为3的倍数且不超过300只。文章提供了完整的Python代码示例,并提示有多个解时按鸡翁数量排序输出。
摘要由CSDN通过智能技术生成

目录

一、题目描述

1、输入格式

2、输出格式

二、代码解析

1、全部代码

2、代码详解

三、源代码奉上


一、题目描述

我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,如果要求鸡翁、鸡母、鸡雏都不为零,问鸡翁、鸡母、鸡雏各几何?

1、输入格式

无输入格式

2、输出格式

每行输出一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

如果有多组解时,按鸡翁数量由少到多输出;

二、代码解析

1、全部代码

2、代码详解

首先我们令鸡翁 i 鸡母 j 鸡雏 n

这里我们采取遍历个数的方法来判断是否符合条件。

题目中描述了共100元,鸡翁一只5元,那么最多也就只有20只,所以第一个for循环到20即可

for i in range(1,20):

同理,鸡母一只3元,最多33只

for j in range(1,33):

鸡雏三只1元,最多也就是300只,而应为钱为整数,所以最小应为3,并且鸡雏应为3的倍数,所以设置循环间隔3

for n in range(3,300,3):

 最后只需判断是否满足鸡的总数和钱的总数是否等于100即可

if 5 * i + 3 * j + n * (1/3) == 100 and i + j + n == 100:

 如果符合后,便跳出循环,寻找下一组数值

三、源代码奉上

for i in range(1,20):
    for j in range(1,33):
        for n in range(3,300,3):
            if 5 * i + 3 * j + n * (1/3) == 100 and i + j + n == 100:
                print(f'{i} {j} {n}')
                break

 喜欢的话记得三连哦~~~

感谢支持!!!

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值