Lösungsvorschlag 5.2 - Aufgabe 2: Unterschied zwischen den Versionen

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
 
Zeile 22: Zeile 22:
 
                 // zahl ändern
 
                 // zahl ändern
 
                 zahl = zahl/j;
 
                 zahl = zahl/j;
                 // j erneut auf Startwert 2 (1++) setzen
+
                 // j erneut auf Startwert 2 (j++ !) setzen
 
                 j = 1;
 
                 j = 1;
 
             }
 
             }

Aktuelle Version vom 26. Februar 2015, 10:25 Uhr

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]);}
}