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

Aus ComeniusWiki
Wechseln zu: Navigation, Suche
(Die Seite wurde neu angelegt: „<pre> public void primfaktorZerlegungArray(long zahl){ //zahl wird für die Ausgabe in einer Variable "konserviert" long n=zahl; //Festellung der maximalen Län…“)
 
Zeile 1: Zeile 1:
<pre>
+
<syntaxhighlight lang="java">
 
public void primfaktorZerlegungArray(long zahl){
 
public void primfaktorZerlegungArray(long zahl){
  
Zeile 31: Zeile 31:
 
for (int k=1; k<i;k++){System.out.print("*"+primf[k]);}
 
for (int k=1; k<i;k++){System.out.print("*"+primf[k]);}
 
}
 
}
</pre>
+
</syntaxhighlight>

Version vom 22. Januar 2015, 13:54 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 (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]);}
}