Stap 1: De algorythm
Elke nummer controle als het is prime en als het is, op de hoogte gesteld gebruiker via SMS. Om te beslissen al dan niet een getal n een priemgetal is, we moeten proberen te verdelen met elk getal van 2 tot en met n-1 en zien als rest bij division altijd is niet 0. Als dat waar is, n niet deelbaar met een willekeurig getal behalve 1 en zichzelf, dat is de definitie van een priemgetal.
Dit algoritme kon worden geoptimaliseerd door alleen oneven nummers (alle even nummers deelbaar zijn door 2 en dus geen priemgetallen) controleren en controle aan enige sqrt(n) in plaats van helemaal naar n-1 (er is geen deler van n die groter is dan de sqrt(n)) en het belangrijkst, verdelen we kunnen alleen met de priemgetallen. Waarom ik dat niet doen? EEN LinkIt is zo krachtig dat priemgetallen sneller dan ze SMSed kunnen worden gevonden.
De vraag is nu hoe maak je die SMS interessant als ze de allertijden komen zou? het blijkt dat is er geen manier van vertellen hoe ver uit elkaar twee priemgetallen zal zijn. Het zal altijd ten minste één niet prime tussen (met uitzondering van 2 en 3) dus waarom niet gebruiken dat? Wanneer een priemgetal is gevonden, zal programma stoppen voor tijd bepaald door hoe ver uit elkaar laatste twee priemgetallen, vermenigvuldigd met vertraging amount.and pas na dat SMS toegestuurd en het volgende nummer zal worden getest.
Als u een kijkje op bijgevoegde code nemen ziet u dat ik ook een "limbo" - deel van code met no escape voegde - waar programma vast te zitten komt als het 32-bits long int overschrijdt en terug gaat tot het tellen van 1 naar boven (wij niet willen dat dit).