题解 | #百钱买百鸡问题# python解法

百钱买百鸡问题

http://www.nowcoder.com/practice/74c493f094304ea2bda37d0dc40dc85b

根据题意我们可以知道,输入的数据是没有意义的,我们只需要读取一下就可以,和本题毫无关系。

针对这个数学问题,我们可以采用暴力解法,双重for循环,在遍历中,我们可以缩小遍历的范围,减少无效遍历,我们可以从题意中得知公鸡每只5元,即使100元全部购买公鸡,那么公鸡最多购买20只;对于母鸡每只3元,全部购买最多买33只。因此我们可以推算出这两次for循环的大致范围;对于小鸡是3只1元,因此,小鸡的数量只能是3的倍数。最后,通过两次for循环即可以得出最后的结果。

m = input()
for i in range(21):
    for j in range(34):
        z = 100-i-j
        if z % 3 == 0 and 5*i+3*j+int((100-i-j)/3) == 100:
            print(i,j,z)
                 
全部评论

相关推荐

狠赚笔第一人:学计算机自己不努力怪大环境?我大一就拿到了美团大厂的offer,好好看看自己有没有努力查看图片
点赞 评论 收藏
分享
11-11 14:21
西京学院 C++
Java抽象练习生:教育背景放最前面,不要耍小聪明
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务