宇宙可爱兔 发表于 2021-7-6 18:55:56

Python 百钱买百鸡问题

请问各位大佬,遍历公鸡、母鸡、小鸡数的时候,里面34,100,200是怎么计算出来的?

编程实现:百钱买百鸡
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,
用100文钱买一百只鸡,其中公鸡,母鸡,小鸡都必须要有
请打印输出全部方案

money=100
for i in range(1,34):   #遍历公鸡数
    for j in range(1,100):   #遍历母鸡数
      for k in range(1,200):   #遍历小鸡数
            if (i+j+k)==100:   #判断数量是否等于100
                if (i*5+j*3+k*(1/3))==100:   #判断价格是否等于100
                  print(i,j,k)

liuzhengyuan 发表于 2021-7-6 19:14:05

程序的注释说了,就是一层层循环,外循环运行一次,里循环运行多次

逃兵 发表于 2021-7-6 19:23:01

这段代码和题目有问题,这段代码指的应该是公鸡三元,最多买33只,母鸡1元,最多买100只,小鸡2只一元,最多买200只
按照现在的题目改成21,34,301,代表20只,33只,300只,更符合题意,但是答案是一致的

for i in range(1,21):   #遍历公鸡数
    for j in range(1,34):   #遍历母鸡数
      for k in range(1,301):   #遍历小鸡数
            if (i+j+k)==100:   #判断数量是否等于100
                if (i*5+j*3+k*(1/3))==100:   #判断价格是否等于100
                  print(i,j,k)
页: [1]
查看完整版本: Python 百钱买百鸡问题