某工地需要搬运砖块,已知男人一人可以搬3块,女人一人可以搬2块,小孩两人可以搬1块。用45个人正好搬45块砖,问有多少种搬法? 输出所有可能组合,即男人、女人、小孩的人数(人数可以为0)。
for men in range(16):
for women in range(23):
child=45-women-men
if (men * 3+women * 2+ child * 0.5 == 45):
print men, women, child
结果:
men=0 women=15 child=30
men=3 women=10 child=32
men=6 women=5 child=34
men=9 women=0 child=36
由于最多只有45块砖,男人的数量不会超过15人,女人的数量不会超过22人,一旦男人和女人的数量确定下来后,小孩的人数应该是45-男人数-女人数。
for x in range(45//3+1):
for y in range(45//2+1):
z = 45-x-y
if x*3+y*2+z/2==45:
print(f'男人:{x}、女人:{y}、小孩:{z}')
男人:0、女人:15、小孩:30
男人:3、女人:10、小孩:32
男人:6、女人:5、小孩:34
男人:9、女人:0、小孩:36
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632