trouver nième nombre premier

J'ai écrit le code suivant ci-dessous pour trouver le n-ième nombre premier. Cela peut-il être amélioré dans le temps de la complexité?

Description:

La liste de tableaux arr magasins le calcul des nombres premiers. Une fois arr atteint une taille "n", la boucle s'arrête et nous récupérer le n-ième élément de la liste de tableaux. Les numéros 2 et 3 sont ajoutés avant les nombres premiers sont calculés, et chaque numéro à partir de 4 est vérifié pour être premier ou non.

public void calcPrime(int inp) {
    ArrayList<Integer> arr = new ArrayList<Integer>(); //stores prime numbers 
                                                      //calculated so far
    //add prime numbers 2 and 3 to prime array 'arr'
    arr.add(2); 
    arr.add(3);

    //check if number is prime starting from 4
    int counter = 4;
     //check if arr's size has reached inp which is 'n', if so terminate while loop
    while(arr.size() <= inp) {
        //dont check for prime if number is divisible by 2
        if(counter % 2 != 0) {
            //check if current number 'counter' is perfectly divisible from 
           //counter/2 to 3
            int temp = counter/2;
            while(temp >=3) {
                if(counter % temp == 0)
                    break;
                temp --;
            }
            if(temp <= 3) {
                arr.add(counter);
            }
        }
        counter++;
    }

    System.out.println("finish" +arr.get(inp));
    }
}
Merci de nous donner une description intuitive de ce que votre programme, ou au moins de fournir des commentaires. Nous donnant un bloc de code et de nous demander de les analyser, il est extrêmement difficile pour quiconque de comprendre ce que cela signifie.
Il peut être ouvert à la question de savoir si elle améliore la complexité de calcul, mais un crible d'Eratosthène est un peu rapide de toute façon.
ajout des commentaires de code.
La réponse est stackoverflow.com/a/9704912/849891 .
Aussi, il est bon de rechercher sur le DONC tout d'abord: stackoverflow.com/tags/primes/hot?filter=year .

OriginalL'auteur codewarrior | 2013-02-07