songsinuo 发表于 2021-6-1 06:51:36

百钱买鸡问题


公鸡5块一只;母鸡三块一只;小鸡3只一块;用100块买100只鸡,如何买?


for x in range(1,20):
    for y in range(0,33):
      z=100-x-y
      if(z%3)==0 and (5*x+3*y+z/3)==100:
            print('公鸡有%s只,母鸡有%s只,小鸡有%s只'%(x,y,z))



提问:
if条件为什么加上(z%3)==0

小甲鱼的铁粉 发表于 2021-6-1 07:15:37

小鸡3只一块
说明小鸡必须是3的整数倍,(z%3 == 0)就是判断小鸡数目是不是3的整数倍的

Twilight6 发表于 2021-6-1 10:20:52



% 号是求余作用,将 z 值 对 3 求余看余数是否为 0

即判断z 是否整除以 3 ,若没有余数则说明能被 3 整除,若有余数则说明有钱剩余

wbing 发表于 2021-6-1 16:28:29

不加这个判断(z%3)==0 ,也可以吧

linyinset 发表于 2021-6-1 17:03:59

刚看完第一课就点进来了代码复制了跑了一下 发现py居然可以自动计算 这语言蛮智能的啊
页: [1]
查看完整版本: 百钱买鸡问题