Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Aphton,
9. Mär 2011
Hmm. Es gibt, so wie es aussieht, ein paar große Probleme. Ich arbeite gerade dran.
Der Code ist so nicht funktionstüchtig! (Also nur teilweise).
Edit: So, nun dürfte er so richtig funktionieren.
Edit: @gammatester
Wow, das wird sowas von in die Knie gezwungen.
Ok, das Problem ist, dass er ewig lang iterieren muss, bis er beim entsprechenden Werten für den Sieb in CreatePrimes angelangt...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Aphton,
9. Mär 2011
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...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Aphton,
9. Mär 2011
@BUG
Danke, du hast recht. a und b sind teilfremd und müssen nicht zwingend Primzahlen sein.
Weiters - die Indices des Arrays werden getestet, ob es sich um eine Primzahl handelt. Deswegen auch Int64. Dabei muss das Array nicht > 2^32 sein.
Man kann ja Min und Max so wählen, dass die Differenz < 2^32 bzw Max Arbeitsspeicher ist.
Deshalb auch Ressourcensparend: die Tau Funktion geht...
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Aphton,
9. Mär 2011
Das sind Int64 Werte (Min & Max)!
Edit: Int64 Variablen können in Turbo Delphi Explorer (2006) bei der For Schleife nicht verwendet werden.
Danke für die Aufmerksamkeit!
Forum: Neuen Beitrag zur Code-Library hinzufügen
Delphi
by Aphton,
8. Mär 2011
Gute Nacht, liebe Programmierfreunde
Hiermit möchte die Tau(N) Funktion näher bringen.
Tau(N) berechnet die Anzahl der ganzzahligen Divisoren von N - bsp. Tau(20) = 6, denn 20 ist teilbar durch {1, 2, 4, 5, 10, 20}.
Diese Funktion dürfte den Derive Benutzern auch unter dem Namen "divisorTau()" bekannt sein; so habe ich sie auch genannt.
Mathemathischer Hintergrund:
- wenn p = Primzahl...