gateway/test-chat/extraction/per_chunk_20251004-132945/chunk_001_input.txt
2025-10-04 13:31:21 +02:00

38 lines
No EOL
1.5 KiB
Text

Algorithm to calculate the first 1000 prime numbers using the Sieve of Eratosthenes:
1. Initialize an empty list to store prime numbers.
2. Set a limit for the sieve. Since the 1000th prime is 7919, a safe upper bound is 10000.
3. Create a boolean array `is_prime` of size `limit + 1` and initialize all entries as `True`. Set `is_prime[0]` and `is_prime[1]` to `False` as 0 and 1 are not prime numbers.
4. For each number `p` starting from 2, do the following:
a. If `is_prime[p]` is `True`, it means `p` is a prime number.
b. Append `p` to the list of prime numbers.
c. Mark all multiples of `p` (starting from `p*p`) as `False` in the `is_prime` array.
5. Continue the process until the list of prime numbers contains 1000 elements.
6. Return the list of the first 1000 prime numbers.
Pseudocode:
function calculate_first_1000_primes():
limit = 10000
is_prime = [True] * (limit + 1)
is_prime[0] = is_prime[1] = False
primes = []
for p in range(2, limit + 1):
if is_prime[p]:
primes.append(p)
if len(primes) == 1000:
break
for multiple in range(p * p, limit + 1, p):
is_prime[multiple] = False
return primes
# Validation Step:
# Ensure the length of the primes list is 1000 and the last element is 7919.
primes = calculate_first_1000_primes()
assert len(primes) == 1000, "The list does not contain 1000 primes."
assert primes[-1] == 7919, "The 1000th prime is incorrect."
# If assertions pass, the list of primes is correct.