From 927e14e7f2698ea4ac4525161ca5afbf351f22ab Mon Sep 17 00:00:00 2001 From: Carlos Meza Date: Fri, 9 Oct 2020 22:33:00 -0700 Subject: [PATCH] Cleanup Project Euler Problem 01 (#2900) * mv str statement into docstr * rename var to avoid redefining builtin * clean up module docstr --- project_euler/problem_01/sol1.py | 2 +- project_euler/problem_01/sol2.py | 12 ++++++------ project_euler/problem_01/sol3.py | 20 ++++++++++---------- project_euler/problem_01/sol4.py | 2 +- project_euler/problem_01/sol5.py | 5 ++--- project_euler/problem_01/sol6.py | 2 +- project_euler/problem_01/sol7.py | 2 +- 7 files changed, 22 insertions(+), 23 deletions(-) diff --git a/project_euler/problem_01/sol1.py b/project_euler/problem_01/sol1.py index 2dbb60cdb..385bbbbf4 100644 --- a/project_euler/problem_01/sol1.py +++ b/project_euler/problem_01/sol1.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ diff --git a/project_euler/problem_01/sol2.py b/project_euler/problem_01/sol2.py index 212fd4056..f08f548cb 100644 --- a/project_euler/problem_01/sol2.py +++ b/project_euler/problem_01/sol2.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ @@ -19,14 +19,14 @@ def solution(n: int = 1000) -> int: 83700 """ - sum = 0 + total = 0 terms = (n - 1) // 3 - sum += ((terms) * (6 + (terms - 1) * 3)) // 2 # sum of an A.P. + total += ((terms) * (6 + (terms - 1) * 3)) // 2 # total of an A.P. terms = (n - 1) // 5 - sum += ((terms) * (10 + (terms - 1) * 5)) // 2 + total += ((terms) * (10 + (terms - 1) * 5)) // 2 terms = (n - 1) // 15 - sum -= ((terms) * (30 + (terms - 1) * 15)) // 2 - return sum + total -= ((terms) * (30 + (terms - 1) * 15)) // 2 + return total if __name__ == "__main__": diff --git a/project_euler/problem_01/sol3.py b/project_euler/problem_01/sol3.py index faa505615..67cb83faf 100644 --- a/project_euler/problem_01/sol3.py +++ b/project_euler/problem_01/sol3.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ @@ -22,38 +22,38 @@ def solution(n: int = 1000) -> int: 83700 """ - sum = 0 + total = 0 num = 0 while 1: num += 3 if num >= n: break - sum += num + total += num num += 2 if num >= n: break - sum += num + total += num num += 1 if num >= n: break - sum += num + total += num num += 3 if num >= n: break - sum += num + total += num num += 1 if num >= n: break - sum += num + total += num num += 2 if num >= n: break - sum += num + total += num num += 3 if num >= n: break - sum += num - return sum + total += num + return total if __name__ == "__main__": diff --git a/project_euler/problem_01/sol4.py b/project_euler/problem_01/sol4.py index d5e86320d..77f323695 100644 --- a/project_euler/problem_01/sol4.py +++ b/project_euler/problem_01/sol4.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ diff --git a/project_euler/problem_01/sol5.py b/project_euler/problem_01/sol5.py index eae62ef5c..256516802 100644 --- a/project_euler/problem_01/sol5.py +++ b/project_euler/problem_01/sol5.py @@ -1,15 +1,14 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ -"""A straightforward pythonic solution using list comprehension""" - def solution(n: int = 1000) -> int: """Returns the sum of all the multiples of 3 or 5 below n. + A straightforward pythonic solution using list comprehension. >>> solution(3) 0 diff --git a/project_euler/problem_01/sol6.py b/project_euler/problem_01/sol6.py index ca08a4a63..5f60512a7 100644 --- a/project_euler/problem_01/sol6.py +++ b/project_euler/problem_01/sol6.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """ diff --git a/project_euler/problem_01/sol7.py b/project_euler/problem_01/sol7.py index 8e53d2a81..5761c00f2 100644 --- a/project_euler/problem_01/sol7.py +++ b/project_euler/problem_01/sol7.py @@ -1,7 +1,7 @@ """ Problem Statement: If we list all the natural numbers below 10 that are multiples of 3 or 5, -we get 3,5,6 and 9. The sum of these multiples is 23. +we get 3, 5, 6 and 9. The sum of these multiples is 23. Find the sum of all the multiples of 3 or 5 below N. """