0
例如,我有這樣的序言二維數組:如何在prolog中查找二維數組中的最大數量?
[1 ,2 ,3].
[4 ,1 ,3].
[1 ,3 ,4].
如何找到在這個二維數組最大數量? (這是「4」)
(所以我可以寫一些代碼,檢查是否max爲偶數或奇數,返回「真」 /「假」爲我的序言功能)
例如,我有這樣的序言二維數組:如何在prolog中查找二維數組中的最大數量?
[1 ,2 ,3].
[4 ,1 ,3].
[1 ,3 ,4].
如何找到在這個二維數組最大數量? (這是「4」)
(所以我可以寫一些代碼,檢查是否max爲偶數或奇數,返回「真」 /「假」爲我的序言功能)
假設你代表矩陣列表的列表,你有一個謂詞來獲取列表的最大值(這裏,我用max_list/2
從SWI-Prolog的),你可以做這樣的:
max_matrix(L, M) :-
maplist(max_list, L, Ms),
max_list(Ms, M).
邊緣案件和其他怪癖留給你...
首先,你需要告訴我們你是如何代表二維數組。到目前爲止你所定義的謂詞是什麼?你有什麼嘗試? – vmg
通常情況下,要找到最大值,請取第一個元素,然後繼續與下一個元素進行比較,保留較大的元素。一旦你不在元素你知道你有最大的。 – 2017-04-17 11:21:59