prolog

    1熱度

    2回答

    我試圖做這個練習,我應該建立一個prolog程序,當給定一個數字和一個列表時,返回一個沒有數字倍數的列表。現在我做了這個: removeMultiples([],[]). removeMultiples(N, [Head|Tail], Result):- Head mod N =:= 0, removeMultiples(N, Tail, Result). removeMu

    1熱度

    1回答

    讓說我有一個英文表達,說: 日是晚上8點前,上午8點 後,如果我想在序言中表示這是我可以做這樣的事情: day(X) :- X<=2000,X>=800. 2000 = 8pm 800 = 8am 但這不會工作。有沒有更好的方式來表達上述英語表達?

    0熱度

    1回答

    我正在做一個練習,要求實施from_to/3,在這裏你給出了兩個數字作爲前兩個參數,而Prolog給你列出了它們之間的所有內容作爲結果。例如:​​會給R=[1,2,3,4,5]。 我寫了下面的程序: fromto(N, O, []):- N >= O. fromto(N, O, [N|TailResult]):- O > N, O1 is O-1, fro

    2熱度

    1回答

    我剛剛開始學習Prolog的,我發現一些代碼,我也很難理解: stringCounter([],0,0). stringCounter([H|[]],1,1) :- char_type(H, alpha),!. stringCounter([H1,H2|T],CCount,WCount):- char_type(H1, alpha), \+char_type(H2,al

    0熱度

    2回答

    我已經定義了以下運算符: :- op(200, xfx, plus). :- op(100, xfx, times). 我想實現一個謂語翻譯/ 2,這樣僅由數字給定的期限和經營者以及和時間,使這些運營商將被轉換爲相應的算術運算符:+和*。 例如: ?- translate((4 plus 5), Result). Result = 4 + 5. ?- translate(((3

    2熱度

    1回答

    問題停止,這是創建一個replace/4謂詞想x與其他元素(Y)代替從第一列表中的某個元素(X),最後保存它進入最後一個參數,一個新的列表。我知道我的基本情況(?)顯然有些問題,但我似乎無法弄清楚。當我跟蹤這段代碼時,它開始正常,但在第一個列表爲空之後,它開始添加匿名變量。請憐憫我是Prolog的新手。 replace([], _, _, []). replace([H|T], X, Y, N)

    1熱度

    1回答

    我爲某些Prolog代碼編寫了一些測試,並得到了「Test succeeded with choicepoint」警告。下面是我的測試之一: test(overlap_intervals):- overlap_intervals([0, 10], [5, 15]). 這裏的代碼: test(member, all(X == [a,b,c])) :- member(X, [a

    3熱度

    2回答

    我想結合以前的堆棧溢出問題的一些純謂詞來做出我自己的謂詞。 我想給出一個c的列表(它們與它們有相關的事實 - 'at')和一個'特徵'項,它有一個操作符和一個'at'的閾值。我想分割c的列表,如果c沒有相應的'at',它就會進入假分區,否則運算符會測試'at'來得到'c',然後分割適當的。 例如: ?-cpgpartition_ts_fs_feature([c1,c2,c3],Ts,Fs,feat

    2熱度

    1回答

    我想計算列表的最小值,使用失敗導致回溯。我如何改變min(Min,X,Min),使其工作。計算分 solve([Head|Rest], Ans) :- solve(Rest, Till), min(Ans, Head, Till). %min(X, A, B) X is the min of A, B min(X, X, Y) :- X =< Y. min(Y, X,

    2熱度

    1回答

    我有這樣的嵌套列表: list = [[1, 2, 3, 4], [2, 7, 2, 1], [3, 3, 7, 5], [4, 4, 1, 7]] 而且我想跳過此嵌套列表的第一個列表,每個列表的第一個元素。我希望它變成了這個樣子: list = [[7, 2, 1], [3, 7, 5], [4, 1, 7]] 到目前爲止,我有