Ergebnis 1 bis 6 von 6

Thema: ggT mit Prolog

  1. #1
    HTML Newbie
    Registriert seit
    25.04.2010
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard ggT mit Prolog

    Hey,

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

    Code:
    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 ?
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!
    Geändert von The User (25.04.2010 um 21:40 Uhr) Grund: [code]!

  2. #2
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: ggT mit Prolog

    Code:
    ggt(A, B, C) :- C is ggt(B, A mod B, C).
    ggt(A, 0, C) :- C is A.
    ggt(0, 0, C) :- C is 0.
    Das sieht für mich wesentlich einfacher und klarer aus...

  3. #3
    HTML Newbie
    Themenstarter

    Registriert seit
    25.04.2010
    Beiträge
    3
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: ggT mit Prolog

    Zitat Zitat von The User Beitrag anzeigen
    Code:
    ggt(A, B, C) :- C is ggt(B, A mod B, C).
    ggt(A, 0, C) :- C is A.
    ggt(0, 0, C) :- C is 0.
    Das sieht für mich wesentlich einfacher und klarer aus...
    hey danke für deine Antwort
    Aber es geht mir wirklich nur speziell um diese mögliche Implementierung und darum die letzten beiden Zeilen zu verstehen.
    Deine rekursive Lösung ist an sich besser ich weiß

  4. #4
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: ggT mit Prolog

    Es gibt nur rekursive Lösungen in Prolog.
    Und auch die obige Lösung ist rekursiv, allerdings scheint er da eben alle Werte auszuprobieren und dann den größten zu nehmen, es ist einfach nur Schrott.

    So stimmt es übrigens:
    Code:
    #!/usr/bin/pl -s
    ggT(0, 0, 0).
    ggT(A, 0, A).
    ggT(0, B, B).
    ggT(A, B, C) :- ggT(B, AmodB, C).

  5. #5
    Unregistriert
    Gast

    Standard AW: ggT mit Prolog

    Hä?

    Eine bessere Lösung bringt mich aber nicht weiter.
    Es geht mir wie gesagt darum die letzten beiden Zeilen aus meinem Code zu verstehen und nicht darum den ggT möglichst effizient zu finden.

  6. #6
    Forum Guru Avatar von The User
    Registriert seit
    28.10.2007
    Ort
    Zwischen Pazifik und Atlantik...
    Beiträge
    4.044
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: ggT mit Prolog

    Hab ich doch angedeutet: Der fängt mit U = 1 an und geht dann von unten nach oben durch und wählt den größten gemeinsamen Teiler... Das zwischen sorgt einfach dafür, dass alle Werte ausprobiert werden...

Ähnliche Themen

  1. Prolog Problemm
    Von Blumberg im Forum Forum für alle anderen Programmiersprachen
    Antworten: 5
    Letzter Beitrag: 05.09.2009, 16:54
  2. Prolog Labyrinth
    Von zoe im Forum Forum für alle anderen Programmiersprachen
    Antworten: 1
    Letzter Beitrag: 28.07.2008, 13:49
  3. Prolog
    Von Sandra_DD im Forum Forum für alle anderen Programmiersprachen
    Antworten: 0
    Letzter Beitrag: 07.04.2008, 20:32
  4. Prolog?
    Von The User im Forum Forum für alle anderen Programmiersprachen
    Antworten: 0
    Letzter Beitrag: 05.02.2008, 00:05
  5. Prolog Problem
    Von Bit2_Gosu im Forum Forum für alle anderen Programmiersprachen
    Antworten: 2
    Letzter Beitrag: 12.09.2007, 19:11

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •