Ich habe einen Code geschrieben, der die Anzahl der Atome zählen soll, die addiert werden wie: a + b + c + d (Z sollte 4 sein).Atome in Prolog zählen
ist mein Code so weit:
addition(X, X, 1, _) :-
atom(X).
addition(X+Y, X1+Y1, ZZ, Z) :-
addition(X, X1, ZZ, Z),
addition(Y, Y1, ZZ, Z),
Z is ZZ + 1.
Mein Problem ist, dass der Code gibt mir immer die Nummer 2. jemand wissen, wie dieses Problem beheben?
Können Sie Beispiel liefern (n) dieses Prädikat verwendet wird, wie es * sollte * verhalten und was sie stattdessen tut? ("Code gibt 2" ist nicht sehr klar.) –
Z sollte die Anzahl der Atome sein, und wenn Sie addieren (a + b + c + d, _, 1, Z), sollte das Programm Z = 4 aber stattdessen sagen es sagt Z = 2. – zer0kai