m钱n鸡

目录

任务描述

编程要求

代码实现

测试说明


任务描述

1只公鸡5枚铜钱,1只母鸡3枚铜钱,3只小鸡卖1枚铜钱。输入两个正整数m和n,用m枚铜钱购买n只鸡,铜钱必须用完一枚不剩(不许贪污),且要求公鸡、母鸡、小鸡每样都必须有,计算公鸡、母鸡、小鸡各多少? 若有解: 输出公鸡数量最少的一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔; 若无解: 输出“无解”

编程要求

根据提示,在右侧编辑器补充代码,在两行中分别输入两个正整数m和n,用m枚铜钱购买n只鸡,铜钱必须用完一枚不剩(不许贪污),且要求公鸡、母鸡、小鸡每样都必须有,计算公鸡、母鸡、小鸡各多少? 若有解: 输出公鸡数量最少的一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔(若公鸡数量最少时有多组解,仅输出其中母鸡数量最少的一组); 若无解: 输出“无解”

代码实现

m = int(input())
n = int(input())
f = False             
for x in range(1,m // 5 + 1):                   # 从小到大遍历公鸡数量
   for y in range(1,m//3 + 1):               # 从小到大遍历母鸡数量
      z = n - x - y      # 小鸡数量计算得到
      if z >= 0 and z % 3 == 0 and x * 5 + y * 3 + z / 3 == m :
         f = True    # 找到解后改变标记,或solution = '有解'
         print(x,y,z)     # 输出找到的第一组解
         break          # 结束内层循环
   if f:       # 根据flag值是否为True判断是否找到解,或if solution == '有解'
       break      # 找到解时结束外层循环,否则继续执行外层循环
if not f:       # 两层循环都结束时,如not flag值为True,表明未找到解,或if solution == '无解'
   print("无解")

测试说明

测试输入: 100 100 预期输出: 4 18 78

测试输入: 1000 200 预期输出: 无解

Python缩进到底是个什么规则

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值