Qualche altro i metodi sono stati suggeriti e penso che siano buoni, ma in realtà dipende da quanto si vuole archiviare o calcolare sul posto. Per esempio se stai cercando il prossimo primo dopo un numero molto grande, allora usare il Sieve di Eratostene potrebbe non essere così grande a causa del numero di bit che avresti bisogno di memorizzare.
In alternativa, è possibile controllare tutti gli interi dispari tra (e compresi) 3 e sqrt (N) su ogni numero dispari N maggiore del numero di input finché non si trova il numero corretto. Ovviamente puoi smettere di controllare quando trovi che è composito.
Se si desidera un metodo diverso, suggerirei di utilizzare Miller-Rabin primality test su tutti i numeri dispari sopra il numero di input (supponendo che l'input sia> 1) finché non viene trovato un primo. Se si segue l'elenco, situato nella parte inferiore della pagina, dei numeri a
per verificare gli intervalli specificati, è possibile ridurre in modo significativo il numero di a
s che è necessario controllare. Certo, potresti voler controllare almeno alcuni dei numeri primi più piccoli (3,5,7,11 per esempio) prima di controllare con Miller-Rabin.
fonte
2010-03-19 05:58:08
questo è legato alla algoritmo/programmazione. Perché è chiuso? – avd
Poiché nessuno ha ritenuto opportuno spiegare perché lo hanno chiuso, sto votando per riaprire. Questo non mi sembra off-topic. – paxdiablo
dovrebbe essere reso obbligatorio per "chiusure" per rivelare almeno il motivo della chiusura! –