From 0c9b1b8f29c4fd0d77667ca3fbb173072ec202f3 Mon Sep 17 00:00:00 2001 From: MaximSmolskiy Date: Sat, 25 Sep 2021 20:31:40 +0300 Subject: [PATCH 1/4] Fix typo --- project_euler/problem_058/sol1.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/project_euler/problem_058/sol1.py b/project_euler/problem_058/sol1.py index d3b15157fbbd..cd65fe0ead18 100644 --- a/project_euler/problem_058/sol1.py +++ b/project_euler/problem_058/sol1.py @@ -35,9 +35,9 @@ """ -def isprime(d: int) -> int: +def isprime(n: int) -> int: """ - returns whether the given digit is prime or not + returns whether the given number is prime or not >>> isprime(1) 0 >>> isprime(17) @@ -45,12 +45,12 @@ def isprime(d: int) -> int: >>> isprime(10000) 0 """ - if d == 1: + if n == 1: return 0 i = 2 - while i * i <= d: - if d % i == 0: + while i * i <= n: + if n % i == 0: return 0 i = i + 1 return 1 From 72407e255483f7cd36042de6d4f32c7f6a0ca12c Mon Sep 17 00:00:00 2001 From: MaximSmolskiy Date: Sat, 25 Sep 2021 20:49:13 +0300 Subject: [PATCH 2/4] Improve solution --- project_euler/problem_058/sol1.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/project_euler/problem_058/sol1.py b/project_euler/problem_058/sol1.py index cd65fe0ead18..4b61a7d09be6 100644 --- a/project_euler/problem_058/sol1.py +++ b/project_euler/problem_058/sol1.py @@ -33,6 +33,7 @@ count of current primes. """ +from math import isqrt def isprime(n: int) -> int: @@ -48,11 +49,12 @@ def isprime(n: int) -> int: if n == 1: return 0 - i = 2 - while i * i <= n: + if n % 2 == 0 and n > 2: + return 0 + + for i in range(3, isqrt(n) + 1, 2): if n % i == 0: return 0 - i = i + 1 return 1 From 06376bb6779d64898cb4c2e59cb25e25c3c92ed7 Mon Sep 17 00:00:00 2001 From: MaximSmolskiy Date: Sat, 16 Oct 2021 16:15:47 +0300 Subject: [PATCH 3/4] Retest From dd2147cd065fc7dad938dc07915336989fee137d Mon Sep 17 00:00:00 2001 From: MaximSmolskiy Date: Fri, 22 Oct 2021 08:32:08 +0300 Subject: [PATCH 4/4] Replace n with number --- project_euler/problem_058/sol1.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/project_euler/problem_058/sol1.py b/project_euler/problem_058/sol1.py index 4b61a7d09be6..ed407edf7158 100644 --- a/project_euler/problem_058/sol1.py +++ b/project_euler/problem_058/sol1.py @@ -36,7 +36,7 @@ from math import isqrt -def isprime(n: int) -> int: +def isprime(number: int) -> int: """ returns whether the given number is prime or not >>> isprime(1) @@ -46,14 +46,14 @@ def isprime(n: int) -> int: >>> isprime(10000) 0 """ - if n == 1: + if number == 1: return 0 - if n % 2 == 0 and n > 2: + if number % 2 == 0 and number > 2: return 0 - for i in range(3, isqrt(n) + 1, 2): - if n % i == 0: + for i in range(3, isqrt(number) + 1, 2): + if number % i == 0: return 0 return 1