Skip to content

Commit a05f9a4

Browse files
Update sol1.py
1 parent a500695 commit a05f9a4

File tree

1 file changed

+10
-15
lines changed

1 file changed

+10
-15
lines changed

project_euler/problem_095/sol1.py

Lines changed: 10 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,26 +47,21 @@ def sum_primes(primes_degrees: dict[int, int], num: int) -> int:
4747
)
4848

4949

50-
def generate_primes(n: int):
50+
def generate_primes(num: int) -> list[int]:
5151
"""
52-
Calculates the list of primes up to and including n.
52+
Calculates the list of primes up to and including `num`.
5353
5454
>>> generate_primes(6)
5555
[2, 3, 5]
5656
"""
57-
primes = [True] * (n + 1)
58-
primes[0] = primes[1] = False
59-
for i in range(2, isqrt(n) + 1):
60-
if primes[i]:
61-
j = i * i
62-
while j <= n:
63-
primes[j] = False
64-
j += i
65-
primes_list = []
66-
for i in range(2, len(primes)):
67-
if primes[i]:
68-
primes_list += [i]
69-
return primes_list
57+
are_primes = [True] * (num + 1)
58+
are_primes[0] = are_primes[1] = False
59+
for i in range(start=2, stop=isqrt(num) + 1):
60+
if are_primes[i]:
61+
for j in range(start=i * i, stop=num + 1, step=i)
62+
are_primes[j] = False
63+
64+
return [prime for prime, is_prime in enumerate(are_primes_ if is_prime]
7065

7166

7267
def multiply(chain, primes, prime, prev_n, n_max, prev_sum, primes_d):

0 commit comments

Comments
 (0)