赞
踩
对所有的可能性进行验证,直到找到正确答案
例题:一百元买100只鸡,公鸡5元一只,母鸡3元一只,小姐1元三只。
- for x in range(20): #公鸡用100元最多20只
- for y in range(33): #母鸡yong100元最多33只
- z=100-x-y #若是可以买到,那么小鸡数量满足这个式子
- if 5*x+3*y+z//3 ==100 and z%3==0:
- print(x,y,z)
上面代码就是把公鸡母鸡最多用100元买多少只列举出来,若可以买则有结果。
列题2:5个人,捕鱼,后,上岸,睡觉,一个人,先醒,把鱼分为5份,剩一条,扔掉。拿走自己的一份,第二人醒了,也分五份,剩一条,拿走自己的一份。其他人都是如此。问他们至少捕鱼多少条。
- ##考虑最少。最后一个人将y条鱼分5份剩一条,那最小的y=6,
- y = 6
- while True:
- total = y
- enough = True
- for _ in range(5):
- if (total - 1) % 5 == 0: ##按照题意 判断
- total = (total - 1) // 5 * 4 ##题意,一人分完后 鱼的数量
- else:
- enough = False
- break
- if enough:
- print(y)
- break
- y += 5
把问题求解时,总是做出在当前看来最好的选择,不追求最优解,快速找到满意解、
贪婪法例子:在对问题求解时,总是做出在当前看
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。