Sha256: 1f57ff356392f2433817278a47c0fbd3bf0ccf3875ef2844afd23ffa564aee77
Contents?: true
Size: 1.01 KB
Versions: 396
Compression:
Stored size: 1.01 KB
Contents
import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; public class Sieve { private int maximalPrime; private List<Integer> primes; public Sieve(int maximalPrime) { this.maximalPrime = maximalPrime; this.primes = calculatePrimes(); } public List<Integer> getPrimes() { return primes; } private List<Integer> calculatePrimes() { List<Integer> primes = new ArrayList<>(); LinkedList<Integer> candidates = IntStream.range(2, maximalPrime + 1) .boxed() .collect(Collectors.toCollection(LinkedList::new)); while (candidates.size() > 0) { Integer prime = candidates.remove(); primes.add(prime); candidates = candidates.stream() .filter(x -> x % prime != 0) .collect(Collectors.toCollection(LinkedList::new)); } return primes; } }
Version data entries
396 entries across 396 versions & 1 rubygems