黑與白:有 a、b、c、d、e 這 5 個人,每個人額頭上都貼了一張黑或白的紙。5 人對坐,每個人都可以看到其他人額頭上紙的顏色。5 人相互觀察後,
a 說:「我看見有 3 人額頭上貼的是白紙,1 人額頭上貼的是黑紙。」
b 說:「我看見其他 4 人額頭上貼的都是黑紙」
c 說:「我看見 1 人額頭上貼的是白紙,其他 3 人額頭上貼的是黑紙」
d 說:「我看見 4 人額頭上貼的都是白紙」
e 什麼也沒說。
現在已知額頭上貼黑紙的人說的都是謊話,額頭貼白紙的人說的都是實話。問這 5 人誰的額頭上貼的是白紙,誰的額頭上貼的是黑紙?
#0為黑 假 1為白 真
for a in
range(2
):for b in
range(2
):for c in
range(2
):for d in
range(2
):for e in
range(2
):#每個都有兩種可能非真及假if(
((a and b+c+d+e==3)
or(not a and b+c+d+e!=3)
)and \
((b and a+c+d+e==0)
or(not b and a+c+d+e!=0)
)and\
((c and a+b+d+e==1)
or(not c and a+b+d+e!=1)
)and\
((d and a+b+c+e==4)
or(not d and a+b+c+e!=4)
)):#這樣寫也行
# if (((a == 1 and b + c + d + e == 3) or (a == 0 and b + c + d + e != 3)) and \
# ((b == 1 and a + c + d + e == 0) or (b == 0 and a + c + d + e != 0)) and \
# ((c == 1 and a + b + d + e == 1) or (c == 0 and a + b + d + e != 1)) and \
# ((d == 1 and a + b + c + e == 4) or (d == 0 and a + b + c + e != 4))):
k=[a,b,c,d,e]
v=["a"
,"b"
,"c"
,"d"
,"e"
]for i in
range
(len
(k))
:print
("{}白紙 "
.format
(v[i])if
(k[i]==1
)else
"{}黑紙 "
以上輸出寫的不太優雅,有更好的方法請告知。
c語言寫法
培養邏輯推理
沒有解決不了的問題,只有打不開的思路。思維一旦被限制,動再多的腦筋也跳不出固有的圈子 思路一經調換,難題往往便迎刃而解 類似數學推理我們重點關注兩點 一 盡可能多的發現屬性,現象 1 靜態的 一般擺在我們面前的我們都能注意到,但是 涉案現場的任何小細節我們都要去問為什麼,不要放過任何乙個細節背後的原...
做邏輯推理
做邏輯推理 進行邏輯推理有什麼用呢?其實是為了訓練我們的邏輯感強,思維縝密,做事周到的能力。下面是matrix67創作的下面 10 個邏輯推理問題。在每個問題中,甲 乙 丙三人各說了一句話,你需要判斷出每個人說的究竟是真話還是假話。每個問題都有唯一解。注意,與傳統的邏輯推理題 目不同,沒有任何條件告...
邏輯推理20201030
邏輯推理 題目 甲乙丙三人玩遊戲,遊戲規則如下 相互之間不能溝通的前提下,每個人寫下乙個整數,其中數字最小的且不與其他的重複的獲勝,比如 1,2,3,寫1的獲勝,2,2,3中寫3的獲勝,全部相同無人獲勝 下面是他們的發言 甲 我寫的是2 乙 我有可能獲勝 丙 我也有可能獲勝 乙 這樣的話,丙你一定不...