Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Fair_Lord Mini JLI'ler
Anmeldedatum: 25.04.2004 Beiträge: 36
Medaillen: Keine
|
Verfasst am: 21.06.2004, 15:59 Titel: kgV |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 21.06.2004, 16:05 Titel: |
|
|
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 |
|
 |
KI JLI Master

Alter: 39 Anmeldedatum: 04.07.2003 Beiträge: 965 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 21.06.2004, 16:05 Titel: |
|
|
Was ist überhaupt ein kgV?
kleines gemeinsames Vielfaches...? |
|
Nach oben |
|
 |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 21.06.2004, 16:28 Titel: |
|
|
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 |
|
 |
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
|
Verfasst am: 21.06.2004, 16:41 Titel: |
|
|
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 |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 21.06.2004, 16:51 Titel: |
|
|
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 |
|
 |
Fair_Lord Mini JLI'ler
Anmeldedatum: 25.04.2004 Beiträge: 36
Medaillen: Keine
|
Verfasst am: 21.06.2004, 17:26 Titel: |
|
|
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 |
|
 |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 21.06.2004, 17:35 Titel: |
|
|
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 |
|
 |
Fair_Lord Mini JLI'ler
Anmeldedatum: 25.04.2004 Beiträge: 36
Medaillen: Keine
|
Verfasst am: 21.06.2004, 17:38 Titel: |
|
|
schon aber versuch das mal mit drei oder vier zahlen... |
|
Nach oben |
|
 |
HotAcid Super JLI'ler

Alter: 43 Anmeldedatum: 04.08.2002 Beiträge: 372 Wohnort: Berlin Medaillen: Keine
|
Verfasst am: 21.06.2004, 18:49 Titel: |
|
|
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  _________________ 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 |
|
 |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 21.06.2004, 19:45 Titel: |
|
|
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 |
|
 |
Fair_Lord Mini JLI'ler
Anmeldedatum: 25.04.2004 Beiträge: 36
Medaillen: Keine
|
Verfasst am: 22.06.2004, 06:09 Titel: |
|
|
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 |
|
 |
Chewie Super JLI'ler
Anmeldedatum: 17.07.2003 Beiträge: 382
Medaillen: Keine
|
Verfasst am: 22.06.2004, 15:38 Titel: |
|
|
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 |
|
 |
|