JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=6c5511d86ad45df1e37af928dc8b4c20Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

kgV

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 15:59    Titel: kgV Antworten mit Zitat

ich hab ein Programm geschrieben von dem man das kgv von zwei -zahlen berechnen kann. aber ich sobald ich es so umschreibe, dass es auch für 3 zahlen gehen sollte liefert es unsinnige Werte. z.b. kgv von 6 , 12 und 2 ist dann 48.
Gibt es eine mathematische Formel um berechnen des kgv mit mehreren zahlen?

fair_lord
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.06.2004, 16:05    Titel: Antworten mit Zitat

man könnte versuchen den kgv von a<->b a<->c b<->c zu berechnen um dann zu ermitteln was der kleinste wert ist.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
KI
JLI Master


Alter: 39
Anmeldedatum: 04.07.2003
Beiträge: 965
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 16:05    Titel: Antworten mit Zitat

Was ist überhaupt ein kgV?
kleines gemeinsames Vielfaches...?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 16:28    Titel: Antworten mit Zitat

KI hat Folgendes geschrieben:
Was ist überhaupt ein kgV?
kleines gemeinsames Vielfaches...?

kleinstes gemeinsames vielfaches

du kannst dir ja einfach das kgV von kgV(a, b) und c ausrechnen...
a=6
b=12
c=2

//primfaktoren
pa = 2/3
pb = 2/2/3
pc = 2

kgV(a, b) = 2 x 2 x 3 = 12 = d
kgV(d, c) = 2 x 2 x 3 = 12 = kgv(a, b, c)

...blödes beispiel..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Samus_Aran
JLI'ler


Alter: 38
Anmeldedatum: 12.05.2004
Beiträge: 183
Wohnort: Plauen->des liegt in Sachsen in der nähe von Chemnitz und Zwickau
Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 16:41    Titel: Antworten mit Zitat

meines Wissens nach (kann auch jetzt ne extreme Hirnblokade sein) ist der kgV von 6, 12 und 2 nich 48 sondern 12.

So dann versuch ich mal zu helfen
Code:

1. Zahlen einlesen
2. Grösste Zahl von denn Zahlen ermitteln
3. Versuchen die andern so lange mit sich selber zu addieren bis sie größer oder gleich der grössten sind
WENN sie gelichgross sind hst du den kgV
WENN NICHT die grösste zahl 1mal mit sich selber addieren und bei 3. wieder anfangen


Ich versuch mir des mal im code aufzubauen aber des müsste eigentlich reichen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden MSN Messenger
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 21.06.2004, 16:51    Titel: Antworten mit Zitat

Möglich wäre noch ne Lösung über ne komplexe Matritzenrechnung oder ner Polynomzerlegung. Am besten mal googln mit ->viel<- findet man sogar was brauchbares
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 17:26    Titel: Antworten mit Zitat

der kgv von 6 12 und 2 ist tatsächlich 12
@chewie stimmt schon, aber ich schaffs net dem pc die primfaktorenzerlegung beizubringen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 17:35    Titel: Antworten mit Zitat

kgv(a,b) = a * b / ggT(a,b)


den ggT (größten gemeinsamen Teiler) kann man leicht mit dem Euklidischen Algorithmus ausrechnen, den kann man auch nem Computer ziemlich leicht beibringen...

cu Felix
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 17:38    Titel: Antworten mit Zitat

schon aber versuch das mal mit drei oder vier zahlen...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HotAcid
Super JLI'ler


Alter: 43
Anmeldedatum: 04.08.2002
Beiträge: 372
Wohnort: Berlin
Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 18:49    Titel: Antworten mit Zitat

kgv(a,b,c,d) = kgv(a,kgv(b,kgv(c,d)))

also erst das kgv von a unb b (oder c und d oder sonstwie) berechnen, dann berechnest du das kgv von der eben errechneten Zahl und c und shließlich das kgv der ersten drei Zahlen mit d. ist doch alles kein Problem Smile
_________________
StGB §§ 328 Abs. 2 Pkt 3:
Mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe wird bestraft, wer eine nukleare Explosion verursacht.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

BeitragVerfasst am: 21.06.2004, 19:45    Titel: Antworten mit Zitat

Fair_Lord hat Folgendes geschrieben:
der kgv von 6 12 und 2 ist tatsächlich 12
@chewie stimmt schon, aber ich schaffs net dem pc die primfaktorenzerlegung beizubringen.


na das brauchst du auf jeden, auch für den ggT, wenn ich mich recht erinnere...sollt ja nicht so ein problem sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fair_Lord
Mini JLI'ler



Anmeldedatum: 25.04.2004
Beiträge: 36

Medaillen: Keine

BeitragVerfasst am: 22.06.2004, 06:09    Titel: Antworten mit Zitat

für den ggT gibts den eukliedschen algorithmus da baraucht man keine primfaktoren aber wenn du mir sagen kannst wie daas mit den primfaktoren geht bitte
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Chewie
Super JLI'ler



Anmeldedatum: 17.07.2003
Beiträge: 382

Medaillen: Keine

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

hier ein kleines prog, das eine zahl einliest und in ihre primfaktoren zerlegt...die werden dann in einem vektor gespeichert.

Code:

int main(int argc, char* argv[])
{
   int a; // die zahl
   vector<int> aP; // hier werden die primfaktoren gespeichert

   cin >> a;

   bool bDone = false;
   int div = 2;
   int aTemp = a;

   // zerlegung
   while (!bDone)
   {
      if ((aTemp % div) == 0)
      {
         aTemp /= div;
         aP.push_back(div);
         div = 2;
      }
      else
         div++;

      if (aTemp == 1)
         break;   
   }
   
   for (int i=0; i < aP.size(); i++)
      cout << aP[i] << "/";

   return 0;
}


fürs kgV müßte man das halt für 2 zahlen machen, sich die anzahl der vorkommen jedes faktors in jeder zahl merken und dann eben multiplizieren.

aber wenn es für den ggT eh einen gscheiten algorithmus gibt, wäre die variante vielleicht vorzuziehen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
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.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum