Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

GGT von 12 verschiedenen zahlen finden AUCH BRÜCHE!!!

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MrBobble



Anmeldungsdatum: 12.10.2004
Beiträge: 26
Wohnort: Straubing

BeitragVerfasst am: 09.02.2005, 20:40    Titel: GGT von 12 verschiedenen zahlen finden AUCH BRÜCHE!!! Antworten mit Zitat

Hallo Leute,
sehr lang ists her, dass ich um rat gefragt hab *gg*
hab grad ein echt doofes prob.
ich hab 12 verschiedenen zahlen:
1; 1,25; 1,5; 1,666666; 2; 2,5; 3; 3,333333; 3,75; 4; 5; und 6

also wie ihr seht sind periodische brüche dabei.
würde man alle 12 zahlen verwenden dann wär der ggt 1/12
ich wär jetzt ewig dankbar drüber wenn jemand ne idee hätte wie man ein proggy schreibt (nur informatisch tippen kann ich selber auch *gg*), das den ggt von einer zahlenmenge errechnet...
z.b. von der zahlenmenge {3; 1,666666, 1; 1.5; 3;} wär der ggt 1/6 also 0,1666666666
so ich brauch den kehrwert, also soll die zahl die ich hab letzendlich 6 sein..
für ALLES vorschläge dankbar...

Gruß MrBobble

PS: Bitte beeilt euch mir läuft die zeit davon!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 09.02.2005, 21:19    Titel: Antworten mit Zitat

das wirste nicht richtig ausrechnen können, da 1,6666666 nur gerundet eingegeben werden kann... ansonsten gibts da nen Algorythmus. Mom, ich tipp grad ma ab..

So, da ists:
Code:

function ggt(x, y)
while x <> y
 if x > y then x = x - y
 if y > x then x = y - x
wend
ggt=x
end function

ob das auch für Brüche funktioniert weiß ich ned, ich probiers ma aus lächeln

So, ergebnisse: Für ungerundete Zahlen gehts, bei zB .6666666 und .9999999 nicht. also ne Zahl die man ungerundet eingeben kann scheint zu gehen.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
marzec



Anmeldungsdatum: 13.10.2004
Beiträge: 267

BeitragVerfasst am: 10.02.2005, 00:07    Titel: Antworten mit Zitat

der ggt und das kgv machen nur bei integren zahlen sprich in der Menge der ganzen Zahlen sinn
_________________
Yagl - yet another gameprogramming library
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Gremlin



Anmeldungsdatum: 12.12.2004
Beiträge: 142
Wohnort: Heinsberg

BeitragVerfasst am: 10.02.2005, 15:38    Titel: Antworten mit Zitat

Du meinst, weil diese Zahlen gar keine Teiler haben? zwinkern

Wikipedia hat Folgendes geschrieben:
Der größte gemeinsamer Teiler, kurz ggT, ist die größte natürliche Zahl, die zwei oder mehrere ganze Zahlen ohne Rest teilt.

Welche natürliche Zahl teilt denn 3.75 ohne Rest?
_________________
Tja, hier konnte ihre Werbung stehen.
Pech gehabt. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 10.02.2005, 21:56    Titel: Antworten mit Zitat

Das Titelproblem beinhaltet wieder einmal deutlich mehr:
- Umwandlung Dezimalbrüche in klassische Brüche der Form n/m (n und m zwei ganze Zahlen)
- Definition GGT: Wahrscheinlich geht die Problemstellung da eher drauf hinaus, beide Zahlen soweit zu erweitern, dass sie zueinander ein Verhältnis aus ganze Zahlen bilden. z.B. 0.2/0.6 = 1/3, 0.4/0.25 = 8/5 usw.

Für das erstere Problem gibt es die bekannte Gleichung:

10x = 166.666666666...
- (x = 16.66666666666....)
-----------------------------
9x = 150
=> x = 150/9=50/3

Für das zweitere Problem: Nachdem man die beiden Brüche n1/m1 und n2/m2 berechnet hat, muss man z.B. (n1/m1)/(n2/m2) = n1/m1/n2*m2=(n1*m2)/(n2*m1) berechnen, womit man zwei ganze Zahlen hat und diese normal kürzen kann.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
MrBobble



Anmeldungsdatum: 12.10.2004
Beiträge: 26
Wohnort: Straubing

BeitragVerfasst am: 11.02.2005, 21:30    Titel: Antworten mit Zitat

danke danke danke....
hab schon ne idee auf eure anregungen bekommen, wie ich es mach, also nochmals danke..
Grüßle MrBobble
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen AIM-Name
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz