砝码(1)Python解

题目:

设有 1g,2g,3g,5g,10g,20g 的砝码各若干枚(其总重量 ),要求计算用这些砝码能称出 的不同重量的个数,但不包括一个砝码也不用的情况。

解题思路:

(这道题和一道往届python组砝码题(有空会把这道题也发出来)类似,我用的相同思路,若有更好解法欢迎提出)

首先假如我们有两个砝码,分别是1g,2g。那么称量结果就有1g,2g,3g。这时候如果再来一个2g砝码,我们的做法是在原来[1,2,3]的结果上分别加上2g再填入结果列表。结果为[1,2,3,3,4,5,2],这个最后的2是这个2g砝码单独称重,也要加上。然后我们需要用set()函数把结果列表去重为[1,2,3,4,5]。

通过上面我们不难发现,我们就是先把n个砝码的结果计算出来,再把第n+1个砝码分别加之前的结果(包括该砝码独自称重的结果)append在结果列表之后,然后去除重复部分就好。接下来是实现代码。

代码部分:

num = list(map(
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值