Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- ggT mit Prolog (http://www.informatikerboard.de/board/thread.php?threadid=698)


Geschrieben von HannesGeee am 25.04.2010 um 19:03:

  ggT mit Prolog

Hey,

ich hab hier folgende mögliche Lösung um den ggT mittels Prolog zu bestimmen:

ggt(A, B, C) :-gt(A, B, C), not(larger_gt(A, B, C)).

larger_gt(A, B, C) :-gt(A, B, C1), C1>C.

gt(A, B, C) :-t(A, C), t(B, C).

t( A, C ) : - zwischen(1, C, A), AmodC =:= 0.

zwischen(C, C, O).
zwischen(U, C, O) :-O>U, U1 isU+1, zwischen(U1, C, O).


kann mir jmd die letzten beiden Zeilen erklären !? Was bewirkt "zwischen(C, C, O)."
Und wieso läßt man in der untersten Zeile das U gegen O laufen ?



Geschrieben von 3FingerbreitNougat am 12.07.2010 um 18:03:

 

Zitat:
Was bewirkt "zwischen(C, C, O)."

Normalerweise ist das der Basisfall für die Rekursion.

Kann es sein dass O = 0?

Wenn du die Lösung selber geschrieben hast, dann benenn die Funktionen doch bitte mal um sodass man sie erkennt ggf. mit Beschreibung.

Wenn nicht, kommentier mal rein was du verstehst und was nicht und kommentier das ggf (und änder dann auch die Funktionsnamen).

MfG


Forensoftware: Burning Board, entwickelt von WoltLab GmbH