[ ] , |
import java.util.ArrayList;
import java.util.List;
public class SieveEratosthenes {
static class PrimePair {
Integer prime;
Integer lastCrossed;
PrimePair(Integer prime, Integer lastCrossed) {
this.prime = prime;
this.lastCrossed = lastCrossed;
}
}
private List primes;
private SieveEratosthenes() {
primes = new ArrayList<>();
primes.add(new PrimePair(2, 2));
primes.add(new PrimePair(3, 3));
}
private void fillNPrimes(int n) {
while (primes.size()/restart
candidate+=2;
i=-1;
}
}
System.out.println(candidate);
primes.add(new PrimePair(candidate, candidate));
}
public static void main(String[] args) {
SieveEratosthenes test = new SieveEratosthenes();
test.fillNPrimes(1000);
}
}
primes = [2, 3]
last_crossed = [2, 3]
def add_next_prime():
candidate = primes[-1] + 2
i = 0
while i < len(primes):
while last_crossed[i] < candidate:
last_crossed[i] += primes[i]
if last_crossed[i] == candidate:
candidate += 2
i = 0
i += 1
primes.append(candidate)
last_crossed.append(candidate)
def fill_primes(n):
while len(primes) < n:
add_next_prime()
fill_primes(1000)
print(primes)