package com.shekhargulati.ninetynine_problems._02_arithmetic;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
* (*) A list of prime numbers.
*/
public class P34 {
public static List<Integer> primeNumbers(IntStream range) {
return range.filter(P31::isPrime).boxed().collect(Collectors.toList());
}
public static List<Integer> primeNumbers_sieve(final int start, final int end) {
boolean[] primes = new boolean[end + 1];
Arrays.fill(primes, true);
for (int i = 2; i < primes.length; i++) {
for (int j = i + 1; j < primes.length; j++) {
primes[j] = !primes[j] || j % i == 0 ? false : true;
}
}
List<Integer> primeNumbers = new ArrayList<>();
for (int i = start; i < primes.length; i++) {
if (primes[i]) {
primeNumbers.add(i);
}
}
return primeNumbers;
}
}