Sisyphus sequence: Difference between revisions

m
Corrected spelling mistake.
m (Reformatted the output.)
m (Corrected spelling mistake.)
Line 344:
 
=={{header|Java}}==
Using a segmented prime sieveiterator enables the extreme stretch task to be completed in approximately 70 minutes without using any external libraries.
<syntaxhighlight lang="java">
import java.util.ArrayList;
Line 436:
final class SegmentedPrimeIterator {
public SegmentedPrimeIterator(long aLimitlimit) {
squareRoot = (int) Math.sqrt(aLimitlimit);
high = squareRoot;
smallSieve(squareRoot);
Line 476:
}
private void smallSieve(int aSquareRootsquareRoot) {
boolean[] markedPrime = new boolean[aSquareRootsquareRoot + 1];
Arrays.fill(markedPrime, true);
for ( int p = 2; p * p <= aSquareRootsquareRoot; p++ ) {
if ( markedPrime[p] ) {
for ( int i = p * p; i <= aSquareRootsquareRoot; i += p ) {
markedPrime[i] = false;
}
Line 488:
}
for ( int p = 2; p <= aSquareRootsquareRoot; p++ ) {
if ( markedPrime[p] ) {
primes.add((long) p);
871

edits