Zitat:
Es ist jedenfalls logisch, das es in unserem Code ähnlichkeiten gibt, da wir ja die gleichen strategien bzw methoden zur Berechnung der Primzahlen verwendet habe. Alles andere ist purer zufäll.
Nein, es war wirklich kein Vorwurf. Und selbst wenn du abgeschrieben hättest so heist das ja nur das du aus dem wissen anderer gelernt hast
was ich grundsätzlich immer für gut empfinde.
Erstaunlich, und eben kein Zufall, ist aber der Punkt das man tatsächlich auf ähnlche Sourcen kommt.
In deinem Source sind mir ein par Dinge aufgefallen:
1.) du benutzt Fließkommaarithmetik, diese lässt sich beseitigen
2.) an einigen Stellen benutzt du Integer Arithmetik die sich idealerweise durch schnelle Shifts + Aditionen ersetzen lässt.
Du solltest jetzt versuchen auf Basis deines Source noch folgende Features einzuarbeiten:
1.) Berechnung Indexof(Primzahl)
2.) mit 1.) CountOfPrimes := IndexOf(Stop) - IndexOf(Start)
3.) zerlegung des Algos in zwei Teile -> a) Berechnung ob Primzahl ja/nein in Bit Array[] und b) daraus Berechnung der realen Primzahl. Somit benötigt man für 1.) und 2.) zu deren Berechnung nur noch Part a) und nicht mehr Part b)
4.) Initialisierung des Restesiebes mit beliebigem Startwert, statt immer mit 2 beginnend. Dadurch kann der Algo. bei beliebigen Zahlen beginnend anfangen zu scannen.
5.) eventuell das Sieb auf 2^64 erweitern,was aber schon wirklich schwieriger sein wird. Mein Source dazu liegt unfertig auf Halde
Gruß Hagen