prolog

    0熱度

    1回答

    我有許多包含字母列表,我已經寫了檢查是否有存在重複這些給定列表中的一個謂詞: noDuplicates([]). noDuplicates([H|T]):- not(member(H, T)), noDuplicates(T). 我有10個名單,我想知道是否有在其中任何一個沒有重複,所以我讓他們到一個大名單,類似的子列表: [[A,B,C], [C,A,D], [E,F,

    3熱度

    2回答

    我正在寫prolog代碼,發現一定數量;如果數字介於0到9之間並且不在給定列表中,則數字是正確的數字。要做到這一點,我寫了一個謂語number/3有可能的數字作爲第一個參數,其中Rightnumber不能出現在列表和神祕RightNumber作爲第三個參數: number([XH|XT], [H|T], RightNumber):- member(XH, [H|T]), !,

    0熱度

    1回答

    我一直在試圖解決一個尋路問題Prolog.where的謂詞是 edge(a,b). edge(a,c). edge(b,d). edge(c,d). edge(d,e). edge(d,f). edge(f,g). 的規則 edge(X,Y) :- edge(X,Z), edge(Z,Y). 然後當我編譯和運行查詢 | ?- edge(a,X)。 它顯示 Fatal Error: local st

    -1熱度

    1回答

    練習Datalog的最佳方式是什麼? 我應該在pyDatalog中練習嗎?或者我應該去與Prolog? (但不是Datalog和Prolog的語法不同?) 謝謝。

    2熱度

    4回答

    所以我做了一個名爲removeN(列表1,N,列表2)謂語刪除成員的N多。應該基本上起到這樣的: removeN([o, o, o, o], 3, List2). List2 = [o]. 第一個參數是與許多相同的部件的列表([O,O,O-]或[X,X,X])。第二個參數是要刪除的成員數量,第三個參數是已刪除成員的列表。 我應該如何去了解這一點,我想使用某種類型的長度。 在此先感謝。

    0熱度

    2回答

    SWI-Prolog是否有讀取科學記數法的方法?我在這裏或文檔中找不到任何東西。例如,除了硬解析它之外,有沒有辦法閱讀7.33E-05? 謝謝!

    0熱度

    1回答

    我試圖將一棵二叉樹排序成3個列表,一個用於正數,一個用於負數,另一個用於其他任何東西。 我有了這個代碼成功轉換成樹的列表: treePosNeg(void, []). treePosNeg(tree(Left,Root,Right),[Root|List]) :- treePosNeg(Left,List1), treePosNeg(Right,List2), ap

    2熱度

    1回答

    sisters(mary,catherine). sisters(catherine,mary). brothers(john,simone). brothers(simone,john). marriage(john,mary,2010). marriage(mary,john,2010). marriage(kate,simone,2009). marriage(simone,k

    1熱度

    1回答

    我需要在SWI-prolog中乘以加法的簡單功能。例如m(X,Y,Z),例如X = 5,Z = 3 < ==> 5 * 3。 Y是結果:Y = 5,Y = 10,Y = 15 [停止]。我在想這樣的事情: m(X,Y,Z):- Z>0, /*when Z reaches 0 you stop */ I=X+X, W=Z-1, m(I,Y,W). 但它總是返回「假」,不知道爲什麼。

    0熱度

    1回答

    序言查詢這是我的Prolog程序: par(0,0). par(0,1). par(0,2). par(1,0). par(1,2). par(1,1). par(2,1). par(2,0). par(2,2). gp(X,Y):- par(X,Z),par(Z,Y). ggp(X,Y) :- par(X,Z), par(Z,W), par(W,Y). 必須使用什麼查