/* package whatever; // don't place package name! */ import java.util.*; import java.lang.*; import java.io.*; /* Name of the class has to be "Main" only if the class is public. */ class Ideone { { } static ArrayList<Integer> generate(int n) { ArrayList<Integer> multiples = new ArrayList<>(), primes=new ArrayList<>(n); primes.add(2); multiples.add(2); for (int candidate = 3; primes.size() < n; candidate += 2 ) { if (isPrime(candidate,multiples, primes)) primes.add(candidate); } return primes; } static boolean isPrime(int candidate, ArrayList<Integer> multiples, ArrayList<Integer> primes) { int nextPrime = primes.get(multiples.size()-1); if (candidate == nextPrime * nextPrime) { multiples.add(candidate); return false; } for (int n = 1; n < multiples.size(); n++) { int multiple = multiples.get(n); while (multiple < candidate) multiple += 2 * primes.get(n); multiples.set(n, multiple); if (candidate == multiple) return false; } return true; } }
Standard input is empty
[2, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]