public class Ideone {
public static void main
(String[] args
) { long time
= System.
currentTimeMillis(); firstPrimes(1000000);
}
public static int[] firstPrimes(int n) {
int[] primes = new int[n];
int found = 1;
primes[0] = 2;
int num = 3;
while(found < n) {
boolean prime = true;
int sqrt
= (int) Math.
sqrt(num
); for(int i = 1; i < primes.length && primes[i] <= sqrt; i++) {
if(num % primes[i] == 0) {
prime = false;
break;
}
}
if(prime) {
primes[found++] = num;
}
num += 2;
}
return primes;
}
}
cHVibGljIGNsYXNzIElkZW9uZSB7CnB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKbG9uZyB0aW1lID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CmZpcnN0UHJpbWVzKDEwMDAwMDApOwpTeXN0ZW0ub3V0LnByaW50bG4oU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCkgLSB0aW1lKTsKfQpwdWJsaWMgc3RhdGljIGludFtdIGZpcnN0UHJpbWVzKGludCBuKSB7CmludFtdIHByaW1lcyA9IG5ldyBpbnRbbl07CmludCBmb3VuZCA9IDE7CnByaW1lc1swXSA9IDI7CmludCBudW0gPSAzOwp3aGlsZShmb3VuZCA8IG4pIHsKYm9vbGVhbiBwcmltZSA9IHRydWU7CmludCBzcXJ0ID0gKGludCkgTWF0aC5zcXJ0KG51bSk7CmZvcihpbnQgaSA9IDE7IGkgPCBwcmltZXMubGVuZ3RoICYmIHByaW1lc1tpXSA8PSBzcXJ0OyBpKyspIHsKaWYobnVtICUgcHJpbWVzW2ldID09IDApIHsKcHJpbWUgPSBmYWxzZTsKYnJlYWs7Cn0KfQppZihwcmltZSkgewpwcmltZXNbZm91bmQrK10gPSBudW07Cn0KbnVtICs9IDI7Cn0KcmV0dXJuIHByaW1lczsKfQp9