Lösungsvorschlag 5.2 - Aufgabe 2
Aus ComeniusWiki
Version vom 1. November 2013, 14:58 Uhr von B.Schiller (Diskussion | Beiträge)
public void primfaktorZerlegungArray(long zahl){
//zahl wird für die Ausgabe in einer Variable "konserviert"
long n=zahl;
//Festellung der maximalen Länge des Arrays
int anzahlMax = (int) Math.ceil(Math.log10(zahl)/Math.log10(2));
//Variable um die Anzahl der im Array enthaltenen Zahlen festzuhalten
int i=0;
//Deklaration des Arrays
long []primf = new long[anzahlMax];
//Ermittlung der Primfaktoren
for (long j = 2; j <= zahl; j++ ) {
// Ist j Primfaktor?
if (zahl % j == 0) {
// Primfaktor im Array sichern und Arrayindex um 1 erhöhen
primf[i]=j; i++;
// zahl ändern
zahl = zahl/j;
// j erneut auf Startwert 2 (1++) setzen
j = 1;
}
}
//Ausgabe der Ergebnisses der Primfaktorenzerlegung
System.out.print("Die Zahl "+n+" lässt sich in folgende Primfaktoren zerlegen: "+primf[0]);
for (int k=1; k<i;k++){System.out.print("*"+primf[k]);}
}

