魔法豌豆

小仙女有N 个袋子,每个袋子装无限豆。 N-1 个袋子的豌豆是普通豆,每粒重一克。有一个袋子装的是魔法豌豆,每个中两克。每次,小仙女可以从每个袋子里取出若干豌豆,然后放在一起称有多重。由于称坏了,不能正确称出大于 1717 克的东西,即使大于 1717 克,称量的结果仍是 1717 克(不过称不会损坏)。请帮她在 10 次称量找出装有魔法豌豆的袋子,并找到 N 的最大值。

解:我们可以从N 个袋子中的 1716 个袋子里面每次取一颗,如果称量的值为 1717 克时,我们得到此次 1716 个袋子中某一袋装的是魔法豌豆。然后重复上面的操作 K 次( K<10), 我们总能得到在某一次 1716 个袋子中可能存在一袋装的是魔法豌豆,否则则为剩下豌豆的袋数为 M. 。所以,我们可以得到 N 的最大值是 N=K*1716+M K<10), 那么我们怎么样才能确定这个 K 的最大值以及 M 的最大值。

首先,我们先确定下如果魔法豌豆在1716 个袋子中某一袋需要找到魔法豌豆的次数。我们把袋子分成 572 573 571 袋三分,分别从每一份的袋子中取 0 1 2 颗,那么魔法豌豆称的可能重量分别是 1715 克, 1716 克, 1717 克。 (K=K+1)

573=83× 3+81 × 4 ,即把 573 个袋子分成 7 份, 3 份为 83 个袋子, 4 份为 81 个袋子。

83 的袋子里面依次分别 0 1 2 81 的袋子里面取 3 4 5 6 颗。撑得的可能重量分别为 1707 1708 1709 1710 1711 1712 1713 克。( K=K+1)

83=2× 40+3 ,分成 41 份, 40 份两袋和一份 3 袋。 3 袋取 0 颗, 2 袋每份取 1 2 。。。 40 ,则撑得重量为 1640 1641 ,。。。。 1680 克。( K=K+1)

3=3× 1     (略)   K= K+1=10     那么我们容易得到1716 个袋子我们需要 4 次,那么 K 的最大值为 6. 。那么 N=1716 × 6+M=10296+M

我们知道如果M<=1716, 那么上述依然成立,这时,我们取 M=1716 求得暂时的最大解,那么是不是可以让 M 取更大的值,并且依然可以在 4 次以内找到装有魔法豌豆的袋子呢,事实上是可以的。

以上述分袋求解过程来看,最后总是要剩余袋子把分成每份为一袋的,那么我们就有了一个反推的过程。我们假设有K 个一份的袋子,那么每袋取值分别为 0 1 2 K-1, 那么有取值在区间 [(K-1)*K/2,(K-1)*K/2+K-1] 内。容易求得 K=58.( 3 次)

474=58× 8+10 ,取 0 —— 8 ,得到范围为 [1704,1711].( 2 次)

1519=474× 3+97 ,取 0 —— 3 ,得到范围为 [1713,1714,17151716]( 剩余一次)

M=1519× 2+98=3136 ,取值 0 1 2 ,得到范围为 [1715,1716,1717]

最后得到Nmax=10296+3136=13432

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值