From d9962c3a962252691f37ec52b2cc44a25c9ec741 Mon Sep 17 00:00:00 2001 From: Rohan R Bharadwaj Date: Fri, 5 Nov 2021 21:30:36 +0530 Subject: [PATCH 1/4] Improve Project Euler Problem 10 Sol-1 --- project_euler/problem_010/sol1.py | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/project_euler/problem_010/sol1.py b/project_euler/problem_010/sol1.py index bd49b3523c97..fe7b46ba50fa 100644 --- a/project_euler/problem_010/sol1.py +++ b/project_euler/problem_010/sol1.py @@ -28,11 +28,11 @@ def is_prime(n: int) -> bool: True """ - for i in range(2, int(sqrt(n)) + 1): - if n % i == 0: - return False - - return True + if 1 < n < 4: + return True + elif n < 2 or not n % 2: + return False + return not any(not n % i for i in range(3, int(sqrt(n) + 1), 2)) def solution(n: int = 2000000) -> int: @@ -48,17 +48,8 @@ def solution(n: int = 2000000) -> int: >>> solution(7) 10 """ - - if n > 2: - sum_of_primes = 2 - else: - return 0 - - for i in range(3, n, 2): - if is_prime(i): - sum_of_primes += i - - return sum_of_primes + + return sum([num for num in range(3, n, 2) if prime_check(num)]) + 2 if n > 2 else 0 if __name__ == "__main__": From 9b20f9b188141dbafb16b8d358e3240cd929de58 Mon Sep 17 00:00:00 2001 From: Rohan R Bharadwaj Date: Fri, 5 Nov 2021 21:34:15 +0530 Subject: [PATCH 2/4] Name correction --- project_euler/problem_010/sol1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_euler/problem_010/sol1.py b/project_euler/problem_010/sol1.py index fe7b46ba50fa..36102d0d3048 100644 --- a/project_euler/problem_010/sol1.py +++ b/project_euler/problem_010/sol1.py @@ -49,7 +49,7 @@ def solution(n: int = 2000000) -> int: 10 """ - return sum([num for num in range(3, n, 2) if prime_check(num)]) + 2 if n > 2 else 0 + return sum([num for num in range(3, n, 2) if is_prime(num)]) + 2 if n > 2 else 0 if __name__ == "__main__": From e0c26d2c371763548ea22e18f14d698c6cfa3862 Mon Sep 17 00:00:00 2001 From: Rohan R Bharadwaj Date: Fri, 5 Nov 2021 21:40:00 +0530 Subject: [PATCH 3/4] psf/black formatting --- project_euler/problem_010/sol1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_euler/problem_010/sol1.py b/project_euler/problem_010/sol1.py index 36102d0d3048..97e5dfe0167d 100644 --- a/project_euler/problem_010/sol1.py +++ b/project_euler/problem_010/sol1.py @@ -48,7 +48,7 @@ def solution(n: int = 2000000) -> int: >>> solution(7) 10 """ - + return sum([num for num in range(3, n, 2) if is_prime(num)]) + 2 if n > 2 else 0 From c0d04ebbd6789eae53180ad5acef4a18308b57b1 Mon Sep 17 00:00:00 2001 From: Rohan R Bharadwaj Date: Fri, 5 Nov 2021 21:42:20 +0530 Subject: [PATCH 4/4] More formatting --- project_euler/problem_010/sol1.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_euler/problem_010/sol1.py b/project_euler/problem_010/sol1.py index 97e5dfe0167d..e060761eecab 100644 --- a/project_euler/problem_010/sol1.py +++ b/project_euler/problem_010/sol1.py @@ -49,7 +49,7 @@ def solution(n: int = 2000000) -> int: 10 """ - return sum([num for num in range(3, n, 2) if is_prime(num)]) + 2 if n > 2 else 0 + return sum(num for num in range(3, n, 2) if is_prime(num)) + 2 if n > 2 else 0 if __name__ == "__main__":