对于里面的每一个人:
第一次检查此时是否满足大于等于一个黑帽子。
①若没有黑帽子,那么肯定是自己。第一次关灯自己打耳光。此时场上只有一顶黑帽子。
②若有大于等于一顶黑帽子,那么不能确定自己是否黑帽子。第一次关灯没有人会打自己耳光,因为大家不确定。
第一次关灯之后,我们推测出场上所有人已知的是此时场上应该至少有两顶黑帽子。
若真的为两顶黑帽子,带黑帽子的人会看见场上只有一顶黑帽子,结合此时的结论,第二次关灯会出现耳光声。所以排除两顶黑帽子。
第二次关灯后结论为场上所有人已知黑帽子数量大于等于3。
我们知道第三次结果为出现耳光声。什么时候会出现耳光声呢?是当此时看到的黑帽子数量小于3(显然看到的不可能为1和0),如果自己不是黑帽子无法符合已得的逻辑时。
所以此时拍耳光的人看到的黑帽子数为2,加上他自己的黑帽子,总数为3。
2,如果是三个人,A,B,C. A第一次没打耳光,因为他看到B,C都是带黑帽子的;而且假设自己带的是白帽子,这样只有BC戴的是黑帽子;按照只有两个人带黑帽子的推论,第二次应该有人打耳光;可第二次却没有。。。于是他知道B和C一定看到了除BC之外的其他人带了黑帽子,于是他知道BC看到的那个人一定是他,所以第三次有三个人打了自己一个耳光!