推理:甲说:在乙和丙之间,至少有一个是天使。
乙说:在甲和丙之间,至少有一个是魔鬼。
丙说:我告诉你正确的消息吧。
你能判断出有几个天使吗?
如果甲是魔鬼,那么他说的话就是假的,至少有一个是天使反推就是乙和丙都是魔鬼,那么乙是魔鬼,但是乙说甲和丙至少有一个是魔鬼,他就说了实话,和魔鬼只说假话存在矛盾,所以甲是天使。假设乙是天使的话,从她的话来看,丙就是魔鬼,因为她说甲和丙至少有一个魔鬼,而甲是天使,所以丙是魔鬼,相反,假设乙是魔鬼的话,从她的话来看,丙就是天使,所以,无论怎样都会有2个天使。
原文地址:http://blog.csdn.net/woody891/article/details/40423077