算法:正面硬币
Posted _Anthony
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法:正面硬币相关的知识,希望对你有一定的参考价值。
题目描述:
有100枚硬币躺在桌子上, 每一枚都有正面和反面。其中10枚正面朝上,90枚反面朝上你不能摸、看或者其他方法来判断每一枚硬币哪面朝上。现在把硬币分成两堆,使得每一堆都有同样数量的正面向上的硬币。
思路(假设解题过程都是闭着眼睛):将硬币分成两堆,一堆10个,另一堆90个,然后将10的小堆全部翻面。
证明:
假设第一次分堆后:
小堆:有x个正面朝上,10-x个反面朝上,
大堆:有10-x个正面朝上,90-10+x=80+x个反面朝上。
小堆全部翻面:
小堆:有10-x个正面朝上,x个反面朝上,
大堆:有10-x个正面朝上,90-10+x=80+x个反面朝上。
以上是关于算法:正面硬币的主要内容,如果未能解决你的问题,请参考以下文章