java schleifenvariable

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...
 
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