101个囚犯
Posted in 好玩的题目 on 四月 10th, 2010 by Shiaron – Be the first to comment在一个监狱里,有101个犯人,被关在101个独立的牢房里,互相无法通信。
一天,召开全体囚徒大会。国王大赦,给大家一个机会。
条件:在当天夜里,会有人来把每间牢房门的正面随机地刷上黑色或者白色,颜色的选择是同等概率随机的(比如用抛硬币的方法决定门上该刷黑色还是白色),犯人们都不知道自己门上被刷了什么颜色。
read more »

在一个监狱里,有101个犯人,被关在101个独立的牢房里,互相无法通信。
一天,召开全体囚徒大会。国王大赦,给大家一个机会。
条件:在当天夜里,会有人来把每间牢房门的正面随机地刷上黑色或者白色,颜色的选择是同等概率随机的(比如用抛硬币的方法决定门上该刷黑色还是白色),犯人们都不知道自己门上被刷了什么颜色。
read more »
如何判断一个整数是不是2的乘方?很简单
return n==0 ? false: (n&(n-1)==0)
对于2的乘方,二进制必然是 1000000000…的形式,n-1则为 0111111111….的形式
所以n与上n-1 就为0了
现在要证明,有且只有2的乘方符合 n&(n-1)==0