首页 > 代码库 > Woody的逻辑游戏--几个天使

Woody的逻辑游戏--几个天使

问题来了,一个旅行家遇到3个美女,他不知道哪个是天使,哪个是魔鬼。天使常常说真话,而魔鬼只说假话。

甲说:在乙和丙之间,至少有一个是天使。

乙说:在甲和丙之间,至少有一个是魔鬼。

丙说:我告诉你正确的消息吧。

你能判断出有几个天使吗?

 

推理:

         如果甲是魔鬼,那么他说的话就是假的,至少有一个是天使反推就是乙和丙都是魔鬼,那么乙是魔鬼,但是乙说甲和丙至少有一个是魔鬼,他就说了实话,和魔鬼只说假话存在矛盾,所以甲是天使。假设乙是天使的话,从她的话来看,丙就是魔鬼,因为她说甲和丙至少有一个魔鬼,而甲是天使,所以丙是魔鬼,相反,假设乙是魔鬼的话,从她的话来看,丙就是天使,所以,无论怎样都会有2个天使。

Woody的逻辑游戏--几个天使