誠實者與說謊者問題

2021-07-02 20:45:00 字數 329 閱讀 6904

問題描述:

誠實者與說謊者 內容:有兩個人,乙個是誠實者,乙個是說謊者。誠實者只說真話,說謊者只說假話!兩個人都知道身後兩扇門哪個是對的,哪個是錯的!但情況是不知道誰是誠實者,誰是說謊者。 要求:現在你只有一次機會向其中之一問乙個問題來確定那個對的門!你會怎麼問呢?

答案:隨便找乙個人問:如果我問另外乙個人哪扇是錯誤的門,他會怎麼回答?

如果這個人是誠實的,他會說出另乙個說謊者說出的假答案如實複述,

如果這個人是說謊的,他會把另乙個誠實者說出的真答案顛倒過來,

所以無論這個人怎麼回答,回答出來的都是假答案,所以直接坐等回答然後走另一扇門就好了。



使用Ruby amb解決說謊者謎題

說謊者謎題是sicp4.3.2小節的一道題目,題目本身不難 五個女生參加乙個考試,她們的家長對考試結果過分關注。為此她們約定,在給家裡寫信談到考試的時候,每個姑娘都要寫一句真話和一句假話。下面是從她們的信裡摘抄出來的句子 betty kitty考第二,我只考了第三 ethel 你們應該很高興聽到我考...

使用Ruby amb解決說謊者謎題

說謊者謎題是sicp4.3.2小節的一道題目,題目本身不難 五個女生參加乙個考試,她們的家長對考試結果過分關注。為此她們約定,在給家裡寫信談到考試的時候,每個姑娘都要寫一句真話和一句假話。下面是從她們的信裡摘抄出來的句子 betty kitty考第二,我只考了第三 ethel 你們應該很高興聽到我考...

生產者與消費者問題

使用synchronized同步鎖機制,執行緒先獲得物件的鎖,先上鎖後執行執行緒內容,執行完成後釋放鎖。使用wait 和notifyall 簡單實現生產者與消費者 public class test1 class producer implements runnablecatch interrupt...