Ich weiß nach der Schule hat man kein Bock mehr auf Mathe. Mal zu meinem Problem, befassen uns grad mit Formeln in Programmieren. Und da hat der Lehrer gesagt, wer den oben genannten Algorithmus programmiert bekommt ne 1. Ich will jetzt natürlich nich einen von euch den Code, sondern nur eine allgemeine Formel des Algorithmuses. Wer kann mir helfen, finde nischt richtiges.
was willst du eigentlich genau? ne erklärung, was das ding macht oder wie dus programmierst? allgemeine formeln und pseudocode findest doch überall im netz?
20.11.2008, 16:01
#
4
Der_Assissane
Registriert seit: 06.02.2008
Ort: München
Beiträge: 859
hab mal bissl gesucht vllt hilfts dir ja weiter, kp obs des richtige is
was willst du eigentlich genau? ne erklärung, was das ding macht oder wie dus programmierst? allgemeine formeln und pseudocode findest doch überall im netz?
Ne einfach nur die Formel, reicht mir.
Den Link von wikipedi hab ich schon gehabt, aber irgendwie is mir nicht ersichtlich wie die Formel ist.
20.11.2008, 16:16
#
6
RealMario_MayhemFan
Review-Redakteur
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
Zitat:
Zitat von shader
Ne einfach nur die Formel, reicht mir.
Den Link von wikipedi hab ich schon gehabt, aber irgendwie is mir nicht ersichtlich wie die Formel ist.
schau dir mal abduladarulas (wahnsinnsname!!) wiki-link an - unter pseudocode
du hast da zwei zahlen, und willst den größten gemeinsamen teiler
nehmen wir einfach mal 20 und 80 als beispiel
wiki schreibts so:
Zitat:
EUCLID_OLD(a,b)
1 wenn a = 0
2 dann return b
3 sonst solange b ≠ 0
4 wenn a > b
5 dann a a - b
6 sonst b b - a
7 return a
bedeutet also:
a=80
b=20
du ziehst von der größeren zahl so lange die kleinere ab, bis die größere zahl 0 WÄRE
das, was vor diesem endergebnis (also null) rauskommt, ist dann dein teiler
also
80-20=60
60-20=40
40-20=20 (20=ergebnis)
20-20=0 (0=abbruch)
hab jetzt nicht den ganzen wiki-link gelesen, aber irgendwo brauchst du eben ne abfrage, ob die größere zahl eh ein ganzes vielfaches der kleineren ist, sonst wirst nie auf null kommen. du könntest auch die abbruchbedingungen von "gleich null" auf "kleiner gleich null" setzen, dann umgehst du das problem. ist aber zumindest von diesem beispiel ne abweichung
Also den Code hab ich ja schon Fertig, hab ich anhand von wiki schnell erstellt. Es war nur das Problem, das ich ne Formel brauch.
20.11.2008, 16:33
#
9
Atombender
Registriert seit: 26.01.2008
Beiträge: 200
Ich glaube Du hast ein grundlegendes Verständnisproblem was Algorithmen betrifft. Algorithmen lassen sich in den seltensten Fällen auf eine geschlossene mathematische Formel reduzieren.
20.11.2008, 16:41
#
10
RealMario_MayhemFan
Review-Redakteur
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
ich seh mich jetzt gar nicht mehr raus.
du sollst es programmieren, den code hast fertig - wofür brauchst die genaue formel?
das sind nur die zwischenschritte. ggT ist ne funktion, und für die funktion willst ne formel
und die wär
Zitat:
wobei rechts deine abbruchbedingung ist. wird r(i+1) kleiner oder gleich null, ist das nicht mehr dein ergebnis, sondern das r(i+1), was du zuerst rausbekommen hast (also dein r(i))
Ich glaube Du hast ein grundlegendes Verständnisproblem was Algorithmen betrifft. Algorithmen lassen sich in den seltensten Fällen auf eine geschlossene mathematische Formel reduzieren.
Ich wollt einfach ne Definition, wie der Algo arbeitet bzw. angewendet werden kann.
Zitat:
du sollst es programmieren, den code hast fertig - wofür brauchst die genaue formel?
Zur Darstellung, sodass ich das auch meinen Mitschülern erklären oder erläutern kann.
Zitat:
Genau das suche ich doch...
vielen Dank. Ps3Spot hat mich mal wieder glücklich gemacht
20.11.2008, 16:54
#
12
RealMario_MayhemFan
Review-Redakteur
Registriert seit: 21.05.2008
Ort: Wien
Beiträge: 4.039
hast die komplette antwort auf deine fragen in abduladarulas (hrhr) post gehabt....