From 4880e5479a85fd106d2b2f9c06755a3350c3db2a Mon Sep 17 00:00:00 2001 From: 5ur3 <43802815+5ur3@users.noreply.github.com> Date: Wed, 30 Oct 2019 00:28:51 +0400 Subject: [PATCH] Create prime_numbers.py (#1519) * Create prime_numbers.py * Update prime_numbers.py --- maths/prime_numbers.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 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 000000000..aafbebe07 --- /dev/null +++ b/maths/prime_numbers.py @@ -0,0 +1,28 @@ +"""Prime numbers calculation.""" + + +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 = [] + 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 + + +if __name__ == "__main__": + print(primes(int(input("Calculate primes up to:\n>> "))))