Lösungsvorschlag 5.2 - Aufgabe 2
Aus ComeniusWiki
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 (j++ !) 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]);} }