下面的問題相信很多人都聽過:
1 有五棟五種顏色的房子
2 每一位房子的主人國籍都不同
3 這五個人每人只喝一種飲料,只抽一種牌子的香菸,只養一種寵物
4 沒有人有相同的寵物,抽相同牌子的香菸,喝相同的飲料
1、 英國人住在紅房子裡
2 、瑞典人養了一條狗
3 、丹麥人喝茶
4 、綠房子在白房子左邊
5 、綠房子主人喝咖啡
6 、抽pall mall煙的人養了乙隻鳥
7 、黃房子主人抽dunhill煙
8 、住在中間那間房子的人喝牛奶
9 、挪威人住第一間房子
10 、抽混合煙的人住在養魚人的旁邊
11 、養馬人住在dunhill煙的人旁邊
12 、抽blue master煙的人喝啤酒
13、 德國人抽prince煙
14 、挪威人住在藍房子旁邊
15 、抽混合煙的人的鄰居喝礦泉水
問題是: 誰養魚?
這道迷題出自2023年柏林的德國邏輯思考學院。據說世界上只有2%的人能出答案。就連大名鼎鼎的愛因斯坦也成為此題大傷腦筋,所以這道題也經常被國內外知名公司用做面試題目,相信許多朋友都只做出過乙個答案,如果碰巧你屬於那98%該怎麼辦呢。沒關係,如果這個問題用電腦來解決就非常easy了。
程式**如下:
using system;
namespace netsafe.math,,
,,
};///
/// answer用來存放答案
///
int[,] answer=new int[6, 6];
int[,] all=new int[6,122];
int count=1;
int nlevel = 0;
int list=new int[6];
public static void main(string args)
void run()}}
}}
}///
/// 非常典型的用遞迴實現排列組合演算法。
///
public void p()
for(ncount=1;ncount<=5;ncount++)
if(key==0)
}nlevel--;
}///
/// 寫入all陣列
///
void writeall()
count++;
}int find(int i,int j)
}return -1;
}///
/// 將答案列印出來
///
void write_answer()
console.writeline();
}console.writeline();}}
}說明:程式使用c#,在microsoft visual studio.net下編譯執行通過。如果你沒有microsoft visual c# 需要安裝microsoft(r) .net framework sdk ,把上述**儲存到ayst.cs,然後在命令列模式下執行csc ayst.cs ,然後執行ayst.exe也可以。這個程式是很久之前寫的。當時只是為了得到答案,所以程式寫的比較亂。讓同行見笑了。以下是程式的執行結果(答案一總7種,沒想到吧):
黃房子,藍房子,紅房子,綠房子,白房子,
挪威人,丹麥人,英國人,德國人,瑞典人,
dunhill,混合煙,pall mall,prince,blue master,
礦泉水,茶,牛奶,咖 啡, 啤酒 ,
魚,馬,鳥, 恐龍,狗,
綠房子,藍房子,黃房子,紅房子,白房子,
挪威人,德國人,瑞典人,英國人,丹麥人,
混合煙,prince,dunhill,blue master,pall mall,
咖 啡,礦泉水,牛奶, 啤酒 ,茶,
恐龍,魚,狗,馬,鳥,
綠房子,藍房子,白房子,黃房子,紅房子,
挪威人,德國人,瑞典人,丹麥人,英國人,
pall mall,prince,混合煙,dunhill,blue master,
咖 啡,礦泉水,牛奶,茶, 啤酒 ,
鳥,魚,狗, 恐龍,馬,
綠房子,藍房子,白房子,黃房子,紅房子,
挪威人,德國人,瑞典人,丹麥人,英國人,
pall mall,prince,混合煙,dunhill,blue master,
咖 啡,礦泉水,牛奶,茶, 啤酒 ,
鳥, 恐龍,狗,魚,馬,
綠房子,藍房子,白房子,紅房子,黃房子,
挪威人,德國人,瑞典人,英國人,丹麥人,
pall mall,prince,混合煙,blue master,dunhill,
咖 啡,礦泉水,牛奶, 啤酒 ,茶,
鳥,魚,狗,馬, 恐龍,
綠房子,藍房子,紅房子,黃房子,白房子,
挪威人,德國人,英國人,丹麥人,瑞典人,
pall mall,prince,混合煙,dunhill,blue master,
咖 啡,礦泉水,牛奶,茶, 啤酒 ,
鳥,魚,馬, 恐龍,狗,
綠房子,藍房子,紅房子,黃房子,白房子,
挪威人,德國人,英國人,丹麥人,瑞典人,
pall mall,prince,混合煙,dunhill,blue master,
咖 啡,礦泉水,牛奶,茶, 啤酒 ,
鳥, 恐龍,馬,魚,狗,
C 輕鬆解決世紀迷題
下面的問題相信很多人都聽過 1 有五棟五種顏色的房子 2 每一位房子的主人國籍都不同 3 這五個人每人只喝一種飲料,只抽一種牌子的香菸,只養一種寵物 4 沒有人有相同的寵物,抽相同牌子的香菸,喝相同的飲料 提示 1 英國人住在紅房子裡 2 瑞典人養了一條狗 3 丹麥人喝茶 4 綠房子在白房子左邊 5...
C語言迷題
摘錄至陳浩前輩部落格的c語言迷題,以備學習。1 下面的程式並不見得會輸出 hello std out,你知道為什麼嗎?include include int main return 0 參 stdout和stderr是不是同裝置描述符。stdout是塊裝置,stderr則不是。對於塊裝置,只有當下面...
輕鬆解決Oracle死鎖
各位在使用oracle的過程中,偶爾會遇到死鎖問題,運用下面兩條語句即可輕鬆解決。查詢死鎖情況 select dob.object name table name,vss.sid,vss.serial vss.action action,vss.osuser osuser,vss.process a...