Skip to content

Commit f841062

Browse files
committed
update(array) : prime sieve of eratosthenes
1 parent 8164601 commit f841062

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

simple_array/e_primes_to_n.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
###################################################
2+
# LeetCode Problem Number : 204
3+
# Difficulty Level : Easy
4+
# URL : https://leetcode.com/problems/count-primes/
5+
###################################################
6+
7+
8+
from typing import List, Union
9+
10+
11+
class PrimeNumber:
12+
def generate_primes(self, n: int) -> Union[int, List[int]]:
13+
primes = []
14+
is_prime = [False, False] + [True] * (n - 1)
15+
16+
for i in range(2, n + 1):
17+
if is_prime[i]:
18+
primes.append(i)
19+
20+
for j in range(i * i, n + 1, i):
21+
is_prime[j] = False
22+
23+
return [len(primes), primes]
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from simple_array.e_primes_to_n import PrimeNumber
2+
3+
4+
class TestPrimeNumber:
5+
def test_generate_primes(self):
6+
pn = PrimeNumber()
7+
8+
input = 10
9+
result = pn.generate_primes(input)
10+
assert result[0] == 4
11+
assert result[1] == [2, 3, 5, 7]

0 commit comments

Comments
 (0)