added prime generator

This commit is contained in:
2024-01-30 17:18:24 +01:00
parent 9ea341183d
commit 1121c6a171
4 changed files with 81 additions and 0 deletions

View File

@ -0,0 +1 @@
# primes generator

View File

View File

@ -0,0 +1,29 @@
from typing import Iterator
def is_prime(n: int) -> bool:
if n < 2:
return False
for d in range(2, n // 2 + 1):
if n % d == 0:
return False
return True
def primes() -> Iterator[int]:
num = 2
while True:
if is_prime(num):
yield num
num += 1
def prime_factorize(n: int) -> Iterator[int]:
it = primes()
num = n
while num > 1:
if num % (prime := next(it)) != 0:
continue
num //= prime
it = primes()
yield prime

File diff suppressed because one or more lines are too long