Ich muss im Rahmen eines Praktikums ein Programm, zur Überprüfung von Primzahlen, schreiben.
Im Rahmen der Laufzeitoptimierung soll ich es auch auf Basis des 'Sieb des Eratosthenes' schreiben.
Der Algorithmus funktioniert tadellos bis zur Zahl N. Naja fast. Wenn ich bis zur Zahl N=65536 prüfen will steigt er mir ab einer bestimmten Zahl aus, da dessen Vielfaches den maximalen Bereich von int übersteigt. Folglich kommt ein negativer Betrag heraus.
Er will also nun den Array-Key '-21....' true setzen. Doch es gibt keinen Key mit dem Wert '-21....'.
Gibt es eine Möglichkeit dies zum umgehen? Habe ein paar Foren schon durchwühlt doch bisher kam mein Problem nicht vor, anscheinend, oder ich sehe nur nicht mehr richtig :-|, google und die Such-funktion des Forums hier hat mir leider auch nicht weiter geholfen. Ich hoffe ihr könnt mir da helfen.
Ich schätze der Algorithmus ist jeden bekannt (wurde im Forum immerhin schon oftmals durch exzersiert), daher werde ich den Code mal nicht posten. Sollte er doch notwendig sein werde ich dies natürlich nachreichen.
Im Rahmen der Laufzeitoptimierung soll ich es auch auf Basis des 'Sieb des Eratosthenes' schreiben.
Der Algorithmus funktioniert tadellos bis zur Zahl N. Naja fast. Wenn ich bis zur Zahl N=65536 prüfen will steigt er mir ab einer bestimmten Zahl aus, da dessen Vielfaches den maximalen Bereich von int übersteigt. Folglich kommt ein negativer Betrag heraus.
Er will also nun den Array-Key '-21....' true setzen. Doch es gibt keinen Key mit dem Wert '-21....'.
Gibt es eine Möglichkeit dies zum umgehen? Habe ein paar Foren schon durchwühlt doch bisher kam mein Problem nicht vor, anscheinend, oder ich sehe nur nicht mehr richtig :-|, google und die Such-funktion des Forums hier hat mir leider auch nicht weiter geholfen. Ich hoffe ihr könnt mir da helfen.
Ich schätze der Algorithmus ist jeden bekannt (wurde im Forum immerhin schon oftmals durch exzersiert), daher werde ich den Code mal nicht posten. Sollte er doch notwendig sein werde ich dies natürlich nachreichen.