python算法:打字员问题

一,题目:

现有一堆稿件,
甲单独打字完成需要6小时,
乙单独打字完成需要10小时,
甲工作了若干小时后因家中有事由乙接着干,
两人完成稿件一共用了7小时,问甲打字用了几个小时?

二,解析:

1,为了方便计算,
我们假设这堆稿件分成60份,可以得到:
甲每小时打10份,
乙每小时打6份,
设甲用时x,取值范围:[0,6]
则可以得到乙用时: y = 7- x
若满足下面条件时,
则可以得到问题的解:
10*x + 6*y = 60
有范围,有条件,循环就可以了
实际开发中,为防止有小数,我们把时间均乘以10

说明:数字60取的是甲乙两人的速度的公倍数,也可以是30/60/120/600等

2,工作量示意图:

说明:刘宏缔的架构森林—专注it技术的博客,
网址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2024/04/01/python-suan-fa-gao-jian-wen-ti/
代码: https://github.com/liuhongdi/https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com

三,代码:

# 为防止有小数,时间均乘以10
for x in range(0, 60+1):     # 甲用的时间:[0,6]
    y = 70 - x      # 乙用的时间
    if 1 * x + 0.6 * y == 60:     # 总量为60
        print(f'甲用时:{x/10},乙用时:{y/10}')
        break

运行结果:

甲用时:4.5,乙用时:2.5
QR:python算法:打字员问题

发表回复