From 3d9dab35d019a166568fd3ffad6a6ca9badb97a9 Mon Sep 17 00:00:00 2001 From: 5ur3 Date: Tue, 29 Oct 2019 19:05:39 +0400 Subject: [PATCH 1/2] Create prime_numbers.py --- maths/prime_numbers.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 maths/prime_numbers.py diff --git a/maths/prime_numbers.py b/maths/prime_numbers.py new file mode 100644 index 000000000000..e5e2f28235f2 --- /dev/null +++ b/maths/prime_numbers.py @@ -0,0 +1,24 @@ +"""Prime numbers calculation.""" + + +def primes(max): + max += 1 + numbers = [False] * max + ret = [] + for i in range(2, max): + if not numbers[i]: + for j in range(i, max, i): + numbers[j] = True + ret.append(i) + return ret + + + +def main(): + print("Calculate primes up to:\n>> ", end="") + n = int(input()) + print(primes(n)) + + +if __name__ == "__main__": + main() From 4add0813c56f7e67c882242b4fa5f54b2553120f Mon Sep 17 00:00:00 2001 From: Christian Clauss Date: Tue, 29 Oct 2019 21:28:33 +0100 Subject: [PATCH 2/2] Update prime_numbers.py --- maths/prime_numbers.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/maths/prime_numbers.py b/maths/prime_numbers.py index e5e2f28235f2..aafbebe07be9 100644 --- a/maths/prime_numbers.py +++ b/maths/prime_numbers.py @@ -1,7 +1,18 @@ """Prime numbers calculation.""" -def primes(max): +def primes(max: int) -> int: + """ + Return a list of all primes up to max. + >>> primes(10) + [2, 3, 5, 7] + >>> primes(11) + [2, 3, 5, 7, 11] + >>> primes(25) + [2, 3, 5, 7, 11, 13, 17, 19, 23] + >>> primes(1_000_000)[-1] + 999983 + """ max += 1 numbers = [False] * max ret = [] @@ -13,12 +24,5 @@ def primes(max): return ret - -def main(): - print("Calculate primes up to:\n>> ", end="") - n = int(input()) - print(primes(n)) - - if __name__ == "__main__": - main() + print(primes(int(input("Calculate primes up to:\n>> "))))