Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#12

AW: Tau Funktion (+Ressourcensparend; +Erweiterter Sieb von Eratosthenes)

  Alt 9. Mär 2011, 13:32
Ne, denn die kleineste Primzahl ist ja bekanntlicherweise 2!

Edit: Mir ist übrigens eingefallen, wie man das noch verbessern könnte.
Ich erhöhe beim Primfraktorzerlegen den Int64 i immer um 1. Ich werd es so umprogrammieren, dass beim ersten Durchgang, also wenn i = 2, es wie gewohnt abläuft, aber dann, immer in zweier Schritten inkrementiere, da ja alle anderen geraden Zahlen ein vielfaches von 2 sind.
Ich werd einen weiteren Inkrementor implementieren, der, sobald i = 2, von 1 auf 2 inkrementiert wird und letztendlich am Schluss, wo inc( i ) steht, der Inkrementor drin stehen wird.

Die Werte die I bei dieser Schleife annimmt, sehen so aus (bei Primes.Min = 2)
{2, 3, 5, 7, 9, 11, 13, 15, 17, ...}

Update (Edit):
Habs nun ausgebessert. Hab die Variable "PrimIncIncrementor" eingeführt. Nun dürfte es doppelt so schnell die Primfaktorzerlegung durchführen!
Siehe Beitrag #1
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 9. Mär 2011 um 13:46 Uhr)
  Mit Zitat antworten Zitat