Skip to content

Commit 157c73d

Browse files
fix: add type hints to maths/primelib.py and fix integer division (#14089)
* Add type hints to maths/primelib.py * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: VikramadityasinghIN <VikramadityasinghIN@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent a3309ef commit 157c73d

1 file changed

Lines changed: 16 additions & 16 deletions

File tree

‎maths/primelib.py‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ def is_prime(number: int) -> bool:
9292
# ------------------------------------------
9393

9494

95-
def sieve_er(n):
95+
def sieve_er(n: int) -> list[int]:
9696
"""
9797
input: positive integer 'N' > 2
9898
returns a list of prime numbers from 2 up to N.
@@ -138,7 +138,7 @@ def sieve_er(n):
138138
# --------------------------------
139139

140140

141-
def get_prime_numbers(n):
141+
def get_prime_numbers(n: int) -> list[int]:
142142
"""
143143
input: positive integer 'N' > 2
144144
returns a list of prime numbers from 2 up to N (inclusive)
@@ -176,7 +176,7 @@ def get_prime_numbers(n):
176176
# -----------------------------------------
177177

178178

179-
def prime_factorization(number):
179+
def prime_factorization(number: int) -> list[int]:
180180
"""
181181
input: positive integer 'number'
182182
returns a list of the prime number factors of 'number'
@@ -216,7 +216,7 @@ def prime_factorization(number):
216216
while quotient != 1:
217217
if is_prime(factor) and (quotient % factor == 0):
218218
ans.append(factor)
219-
quotient /= factor
219+
quotient //= factor
220220
else:
221221
factor += 1
222222

@@ -232,7 +232,7 @@ def prime_factorization(number):
232232
# -----------------------------------------
233233

234234

235-
def greatest_prime_factor(number):
235+
def greatest_prime_factor(number: int) -> int:
236236
"""
237237
input: positive integer 'number' >= 0
238238
returns the greatest prime number factor of 'number'
@@ -274,7 +274,7 @@ def greatest_prime_factor(number):
274274
# ----------------------------------------------
275275

276276

277-
def smallest_prime_factor(number):
277+
def smallest_prime_factor(number: int) -> int:
278278
"""
279279
input: integer 'number' >= 0
280280
returns the smallest prime number factor of 'number'
@@ -316,7 +316,7 @@ def smallest_prime_factor(number):
316316
# ----------------------
317317

318318

319-
def is_even(number):
319+
def is_even(number: int) -> bool:
320320
"""
321321
input: integer 'number'
322322
returns true if 'number' is even, otherwise false.
@@ -345,7 +345,7 @@ def is_even(number):
345345
# ------------------------
346346

347347

348-
def is_odd(number):
348+
def is_odd(number: int) -> bool:
349349
"""
350350
input: integer 'number'
351351
returns true if 'number' is odd, otherwise false.
@@ -374,7 +374,7 @@ def is_odd(number):
374374
# ------------------------
375375

376376

377-
def goldbach(number):
377+
def goldbach(number: int) -> list[int]:
378378
"""
379379
Goldbach's assumption
380380
input: a even positive integer 'number' > 2
@@ -444,7 +444,7 @@ def goldbach(number):
444444
# ----------------------------------------------
445445

446446

447-
def kg_v(number1, number2):
447+
def kg_v(number1: int, number2: int) -> int:
448448
"""
449449
Least common multiple
450450
input: two positive integer 'number1' and 'number2'
@@ -535,7 +535,7 @@ def kg_v(number1, number2):
535535
# ----------------------------------
536536

537537

538-
def get_prime(n):
538+
def get_prime(n: int) -> int:
539539
"""
540540
Gets the n-th prime number.
541541
input: positive integer 'n' >= 0
@@ -584,7 +584,7 @@ def get_prime(n):
584584
# ---------------------------------------------------
585585

586586

587-
def get_primes_between(p_number_1, p_number_2):
587+
def get_primes_between(p_number_1: int, p_number_2: int) -> list[int]:
588588
"""
589589
input: prime numbers 'pNumber1' and 'pNumber2'
590590
pNumber1 < pNumber2
@@ -648,7 +648,7 @@ def get_primes_between(p_number_1, p_number_2):
648648
# ----------------------------------------------------
649649

650650

651-
def get_divisors(n):
651+
def get_divisors(n: int) -> list[int]:
652652
"""
653653
input: positive integer 'n' >= 1
654654
returns all divisors of n (inclusive 1 and 'n')
@@ -685,7 +685,7 @@ def get_divisors(n):
685685
# ----------------------------------------------------
686686

687687

688-
def is_perfect_number(number):
688+
def is_perfect_number(number: int) -> bool:
689689
"""
690690
input: positive integer 'number' > 1
691691
returns true if 'number' is a perfect number otherwise false.
@@ -725,7 +725,7 @@ def is_perfect_number(number):
725725
# ------------------------------------------------------------
726726

727727

728-
def simplify_fraction(numerator, denominator):
728+
def simplify_fraction(numerator: int, denominator: int) -> tuple[int, int]:
729729
"""
730730
input: two integer 'numerator' and 'denominator'
731731
assumes: 'denominator' != 0
@@ -764,7 +764,7 @@ def simplify_fraction(numerator, denominator):
764764
# -----------------------------------------------------------------
765765

766766

767-
def factorial(n):
767+
def factorial(n: int) -> int:
768768
"""
769769
input: positive integer 'n'
770770
returns the factorial of 'n' (n!)

0 commit comments

Comments
 (0)