愛因斯坦難題的 語言程式設計

2021-06-16 21:52:23 字數 3138 閱讀 6672

題目是:

1、 在一條街上,有5座房子,噴了5種顏色。 

2、 每個房裡住著不同國籍的人 

3、 每個人喝不同的飲料,抽不同品牌的香菸,養不同的寵物 

約束條件:

1、 英國人住紅色房子 

2、 瑞典人養狗 

3、 丹麥人喝茶 

4、 綠色房子在白色房子左面 

5、 綠色房子主人喝咖啡 

6、 抽pall mall 香菸的人養鳥 

7、 黃色房子主人抽、dunhill 香菸 

8、 住在中間房子的人喝牛奶 

9、 挪威人住第一間房 

10、抽blends香菸的人住在養貓的人隔壁 

11、養馬的人住抽dunhill 香菸的人隔壁 

12、抽blue master的人喝啤酒 

13、德國人抽prince香菸 

14、挪威人住藍色房子隔壁 

15、抽blends香菸的人有乙個喝水的鄰居

問題是:誰養魚?

#includechar*col=;

char*pad=;

char*drk=;

char*guo=;

char*smk=;

struct aa[5];

int ok(void)

else if(i==4)

else if(aa[i-1].pads==5||aa[i+1].pads==5)goto next13;

return 0;

next13:

for(i=0;i<5;i++)

if(aa[i].smoke==1)goto next13_1;

next13_1:

if(i==0)

else if(i==4)

else if(aa[i-1].pads==2||aa[i+1].pads==2)goto next14;

return 0;

next14:

for(i=0;i<5;i++)

if(aa[i].smoke==1)goto next14_1;

next14_1:

if(i==0)

else if(i==4)

else if(aa[i-1].drink==5||aa[i+1].drink==5)goto next15;

return 0;

next15:

return 1;

}char color[4]=;

char drink[4]=;

char guojia[4]=;

char smoke=;

char pads[5]=;

int rot(char a,int n)

return 1;

}int main()

}}}}}

return 0;

}

執行結果表明:總共有七組可能的解答,具體如下

---------------------第1種解---------------------

第1戶: 挪威人 黃房子 養貓 喝水   抽dunhill

第2戶: 丹麥人 藍房子 養馬 喝茶   抽blends

第3戶: 英國人 紅房子 養鳥 喝牛奶 抽pall mall

第4戶: 德國人 綠房子 養魚 喝咖啡 抽prince

第5戶: 瑞典人 白房子 養狗 喝啤酒 抽bluemaster

---------------------第2種解---------------------

第1戶: 挪威人 綠房子 養鳥 喝咖啡 抽pall mall

第2戶: 德國人 藍房子 養貓 喝水   抽prince

第3戶: 英國人 紅房子 養馬 喝牛奶 抽blends

第4戶: 丹麥人 黃房子 養魚 喝茶   抽dunhill

第5戶: 瑞典人 白房子 養狗 喝啤酒 抽bluemaster

---------------------第3種解---------------------

第1戶: 挪威人 綠房子 養鳥 喝咖啡 抽pall mall

第2戶: 德國人 藍房子 養魚 喝水   抽prince

第3戶: 英國人 紅房子 養馬 喝牛奶 抽blends

第4戶: 丹麥人 黃房子 養貓 喝茶   抽dunhill

第5戶: 瑞典人 白房子 養狗 喝啤酒 抽bluemaster

---------------------第4種解---------------------

第1戶: 挪威人 綠房子 養魚 喝咖啡 抽blends

第2戶: 德國人 藍房子 養貓 喝水   抽prince

第3戶: 瑞典人 黃房子 養狗 喝牛奶 抽dunhill

第4戶: 英國人 紅房子 養馬 喝啤酒 抽bluemaster

第5戶: 丹麥人 白房子 養鳥 喝茶   抽pall mall

---------------------第5種解---------------------

第1戶: 挪威人 綠房子 養鳥 喝咖啡 抽pall mall

第2戶: 德國人 藍房子 養貓 喝水   抽prince

第3戶: 瑞典人 白房子 養狗 喝牛奶 抽blends

第4戶: 英國人 紅房子 養馬 喝啤酒 抽bluemaster

第5戶: 丹麥人 黃房子 養魚 喝茶   抽dunhill

---------------------第6種解---------------------

第1戶: 挪威人 綠房子 養鳥 喝咖啡 抽pall mall

第2戶: 德國人 藍房子 養貓 喝水   抽prince

第3戶: 瑞典人 白房子 養狗 喝牛奶 抽blends

第4戶: 丹麥人 黃房子 養魚 喝茶   抽dunhill

第5戶: 英國人 紅房子 養馬 喝啤酒 抽bluemaster

---------------------第7種解---------------------

第1戶: 挪威人 綠房子 養鳥 喝咖啡 抽pall mall

第2戶: 德國人 藍房子 養魚 喝水   抽prince

第3戶: 瑞典人 白房子 養狗 喝牛奶 抽blends

第4戶: 丹麥人 黃房子 養貓 喝茶   抽dunhill

第5戶: 英國人 紅房子 養馬 喝啤酒 抽bluemaster

愛因斯坦難題

愛因斯坦在20世紀初的這個問題,據說世界上有98 的人回答不出來 問題 在一條街上,有5座房子,噴了5中顏色。沒個房子住著不同國籍的人。每個人喝不同的飲料,抽不同品牌的香菸,養不同的寵物。問題是 誰養魚?2.瑞典人養狗 3.丹麥人喝茶 4.綠色房子在白色房子左邊 5.綠房子主人喝咖啡 6.抽pall...

用程式解密愛因斯坦經典難題 C

這個版本的程式我將不會使用任何推理,僅僅用程式描述這15個條件,然後窮舉所有組合得到滿足這15個條件的唯一解答。首先構造 人 這個型別,根據題目可以知道每個人擁有顏色,香菸,飲料,寵物,位置,國籍這6個屬性。雖然在現實中,人抽香菸,喝飲料,養寵物,擁有國籍,只有這4個屬性,顏色和位置是房子的屬性,但...

愛因斯坦的悼詞

朱也曠 對於現代物理學,1905年是個有點特殊的年份。在這年9月的德國 物理學年鑑 annalen der physik 上,發表了由一位默默無聞的專利審查員愛因斯坦所寫的三篇 三篇 中的任何一篇,都足以使作者享有大物理學家的盛名。而其中最有名的便是 論動體的電動力學 此文宣告了相對論的誕生。在科學...