Zitat von
dino:
wie macht mans denn?
Ich würd's so machen:
Code:
Laufvariable I, Anfangswert: 2
Wiederhole:
Wenn die Zahl Z nicht durch I teilbar ist
-> I erhöhen
sonst
-> I zu den Primfaktoren hinzufügen
-> Z := Z div I
bis I*I > Z
Das könnte man dann noch dadurch optimieren, dass man z.B. I nicht um 1 erhöht, sondern, nachdem man mit der 2 fertig ist, immer um 2 erhöht (also nur ungerade Zahlen probiert). Man könnte sogar alle Primzahlen bis zu einer bestimmten Grenze in einem array liegen haben und mit I dann die einzelnen Array-Werte durchgehen.
Die Möglichkeiten für x bzw. y sind die unterschiedlichen Produkte aller möglichen Kombinationen der Primfaktoren.