二分法的简单应用

二分法应用

题目:考虑一个放置魔法石的小游戏,把1000个魔法石分放到10个袋子里,任取其中一个或几个,袋子里的魔法石总数可以凑成1–1000中任意一个数目的魔法石数量。

解析:利用二分法的基本思想,假设任意一个数目为n,每次都取当前数目的一半(如果不能整除则取较小的一半)m,并且总数-m。如果m大于n,则不要m,否则加上m。反复这个过程,直到m1+m2+m3。。。为所要凑的数即可。显然,2^10=1024>1000,所以分装为十袋就可以凑出1–1000中的任意一个数目了。

             顺便给出十个袋子里面石头的个数:500,125,62,31,16,8,4,2,1,1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值