Thema: Delphi x*y=z Lösungsmenge

Einzelnen Beitrag anzeigen

Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: x*y=z Lösungsmenge

  Alt 10. Dez 2006, 17:28
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.
  Mit Zitat antworten Zitat