Lösungsvorschlag 5.2 - Aufgabe 2

Aus ComeniusWiki
Version vom 1. November 2013, 14:58 Uhr von B.Schiller (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
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]);}
}