问题陈述:一个秘密只能在5分钟内告诉2个人。同一个人告诉另外2个人,依此类推。那么,将一个秘密传播给768个人将花费多长时间?
解决方案:
刚开始时,只有1个人知道此秘密。
- 现在,这1个人将在5分钟之内告诉其他2个人披露秘密。 (已知秘密人数= 2,剩余人数= 766人)
- 现在,这2个人将在5分钟内告诉其他4个人披露秘密。 (已知秘密人数= 4,剩余人数= 764人)
- 现在,这4个人将在5分钟内告诉其他8个人披露秘密。 (已知秘密人数= 8,剩余人数= 760人)
- 现在,这8个人将在5分钟内告诉其他16个人披露秘密。 (已知秘密人数= 16,剩余人数= 752人)
- 现在,这16个人将在5分钟之内告诉其他32个人披露秘密。 (已知秘密人数= 32,剩余人数= 736人)
- 现在,这32个人将在5分钟内告诉64个人其他人透露秘密。 (已知秘密人数= 64,剩余人数= 704人)
- 现在,这64个人将在5分钟内告诉128个人。 (已知秘密人数= 128,剩余人数= 640人)
- 现在,这128个人将在5分钟之内告诉256个人。 (已知秘密人数= 256,剩余人数= 512人)
- 现在,这256个人将在5分钟之内告诉512个人。 (已知秘密人数= 512,剩余人数= 256人)
- 现在,由于只剩下256个人知道秘密,因此,这512个人将在2.5分钟内告诉每个人仅向1个人透露秘密,即256个人。 (已知秘密= 768,剩余= 0人)
总耗时= 9 * 5 +1 * 2.5 = 47.5分钟