Primfaktorzerlegung in Java?

2 Antworten

primzahlen in das array (oder du solslt auch noch primzahlen jeweils finden )

das while läuft solange bis du eine lösung hast(letzte teilung ergibt 1)

die forschleife fängt immer wieder von vorne an das array (nach einem teiler) durch zu gehen , wenn übriger wert modulo zahl == 0 ist ist es teilbar . wenn gefunden immer teilen durch den verbleibenden wert und diesen für die neue runde nehmen .

die gefunden werte ausgeben oder auch in ein array packen .

ich glaub so müsste das funktionieren .

als beispiel

28

28 : 2 = 14 yeah

14 :2 = 7 yeah

7 :2 = määä

7 :3 = määä

7: 5 = määä

7 : 7 = 1 yeah & bingo

2*2*7

30

30 : 2 = 15 yeah

15 : 2 = mää

15 : 3 = 5 yeah

5 : 2 = määä

5: 3 = mää

5:5 = 1 yeah & bingo

2*3*5

der algo kann noch optimiert werden im ablauf :)

Und wo ist explizit dein Problem dabei? Oder erwartest du die direkte, ausprogrammierte Lösung?

Wie du vorgehen kannst: nutze eine Schleife. Nimm eine prim-Variable und starte diese 2 ...

Jetzt teilst du die Zahl so oft durch deine prim-Variable, bis es nicht mehr glatt teilbar ist. Entweder ist die Zahl jetzt 1 oder nicht. Wenn nicht, gehe zur nächsten Primzahl und wiederhole den Vorgang.

Die Faktoren notierst du dir währenddessen, z.B. in einer Array-List