java schleifenvariable

Z

zoo

Neues Mitglied
Thread Starter
Dabei seit
24.03.2005
Beiträge
16
Reaktionspunkte
0
ich hab da eine aufgabe (Primfaktorzerlegung) und komm einfach nicht weiter. ich hoffe mir kann jemand helfen...

also:

ich will zB die Zahl 256 in ihre Primfaktoren zerlegen. dabei sollte 2^8 herauskommen.
ich hab das so gelöst:
do {

// pruefen ob p z teilt
if (z % p == 0) {

// z = z / p und p als Primfaktor ausgeben
// Schleifenvariable pro Durchlauf um 1 erhöhen
z = z / p;
i = i + 1;

if (firstPrime) {
Out.print(p);
firstPrime = false;
} else if (i >= 2) {
imax = i;
Out.print("^" + imax);
} else {
Out.print(" * " + p);
}

} else {

// p = nächste Primzahl (p = p + 1)
i = 0;
p = p + 1;

}

} while (z > 1);
nur ist mein ergebnis 2^2^3^4^5^6^7^8 = 256....wie schaff ich es das nur das ^8 ausgegeben wird?
ich hoffe mir kann wer helfen
 
leg doch deine ausgabe einfach nach der schleife und gib da imax aus...
 
wie meinst du das?
 
} while (z > 1);
Out.print("^" + imax);
 
danke danke!

ich weiß zwar nicht wieso es jetzt funktioniert ;) aber danke jetzt passts
 
hm funktioniert wohl doch nicht...für die zahl 256 funktionierts jetzt zwar aber für die zahl 20 nicht

denn es sollte 20 = 2^2 * 5 herauskommen aber jetzt kommt 20 = 2 * 5^2 heraus :(
 
du musst dann natürlich auch die ausgabe des * teils nach hinten legen...

oder komplett umstricken ;)
 
Zurück
Oben Unten