(百例程式設計)53 謎語博士的難題(1)

2021-06-06 21:38:55 字數 947 閱讀 9076

題目:誠實族和說謊族是來自兩個荒島的不同民族,誠實族的人永遠說真話,而說謊族的人永遠說假話。迷語博士是個聰明的人,他要來判斷所遇到的人是來自哪個民族的。

迷語博士遇到三個人,知道他們可能是來自誠實族或說謊族的。為了調查這三個人是什麼族的,博士分別問了他們的問題,這是他們的對話:

問第乙個人:「你們是什麼族?」,答:「我們之中有兩個來自誠實族。」第二個人說:「不要胡說,我們三個人中只有乙個是誠實族的。」第三個人聽了第二個人的話後說:「對,就是只有乙個誠實族的。」

請根據他的回答判斷他們分別是哪個族的。

/*題目:誠實族和說謊族是來自兩個荒島的不同民族,誠實族的人永遠說真話,

而說謊族的人永遠說假話。迷語博士是個聰明的人,他要來判斷所遇到的人是

來自哪個民族的。迷語博士遇到三個人,知道他們可能是來自誠實族或說謊族

的。為了調查這三個人是什麼族的,博士分別問了他們的問題,這是他們的對話:

問第乙個人:「你們是什麼族?」,答:「我們之中有兩個來自誠實族。」第

二個人說:「不要胡說,我們三個人中只有乙個是誠實族的。」第三個人聽了

第二個人的話後說:「對,就是只有乙個誠實族的。」

請根據他的回答判斷他們分別是哪個族的。

*///by as1138 2011-04-15

#include using namespace std;

int main(void)

{ int a,b,c;

for(a=1;a>=0;--a)

for(b=1;b>=0;--b)

for(c=1;c>=0;--c)

if (((a&&a+b+c==2)||(!a&&a+b+c!=2))&&

((b&&a+b+c==1)||(!b&&a+b+c!=1))&&

((c&&a+b+c==1)||(!c&&a+b+c!=1))){

if(a)

cout<<"第乙個人是誠實族!"<

謎語博士的難題2

兩面族是荒島上的乙個新民族,他們的特點是說話真一句假一句且真假交替。如果第 一句為真,則第二句是假的 如果第一句為假的,則第二句就是真的,但是第一句是真 是假沒有規律。迷語博士遇到三個人,知道他們分別來自三個不同的民族 誠實族 說謊族和兩面族。三人並肩站在博士前面。博士問左邊的人 中間的人是什麼族的...

邏輯推理與判斷(謎語博士的難題)

謎博士的難題 1 誠實族與說謊族是來自兩個荒島的不同民族,誠實族的人永遠說真話,說謊族的人永遠說假話。謎語博士遇到三個人,他們可能是來自誠實族或者是說謊族的。博士問了他們乙個問題 問第乙個人 你們是什麼族?答 我們當中有兩個來自誠實族。第二個人說 不要胡說,我們三個人中只有乙個誠實族的。第三個人聽了...

百例程式設計 66 除式還原(1)

題目 給定下列除式,其中包含5個7,其它打 的是任意數字,以還原。7 商 除數 被除數 7 7 7 7 題目 給定下列除式,其中包含5個7,其它打 的是任意數字,以還原。7 商 除數 被除數 7 7 7 7 by as1138 2011 10 10 include using namespace s...