diff --git a/project_euler/problem_01/sol1.py b/project_euler/problem_01/sol1.py index e81156edaee4..ff62bd6ef324 100644 --- a/project_euler/problem_01/sol1.py +++ b/project_euler/problem_01/sol1.py @@ -1,12 +1,13 @@ +# noqa: flake """ 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. """ -def solution(n): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. >>> solution(3) @@ -21,7 +22,7 @@ def solution(n): 0 """ - return sum([e for e in range(3, n) if e % 3 == 0 or e % 5 == 0]) + return sum(e for e in range(3, n) if e % 3 == 0 or e % 5 == 0) if __name__ == "__main__": diff --git a/project_euler/problem_01/sol2.py b/project_euler/problem_01/sol2.py index 8041c7ffa589..022c1e0a1957 100644 --- a/project_euler/problem_01/sol2.py +++ b/project_euler/problem_01/sol2.py @@ -1,12 +1,12 @@ """ 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. """ -def solution(n): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. >>> solution(3) @@ -19,14 +19,14 @@ def solution(n): 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 c0bcbc06ec83..b4c5ca72c4d0 100644 --- a/project_euler/problem_01/sol3.py +++ b/project_euler/problem_01/sol3.py @@ -1,12 +1,12 @@ """ 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. """ -def solution(n): +def solution(n: int) -> int: """ This solution is based on the pattern that the successive numbers in the series follow: 0+3,+2,+1,+3,+1,+2,+3. @@ -22,38 +22,38 @@ def solution(n): 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 e01dc977d8cf..149a19d505c3 100644 --- a/project_euler/problem_01/sol4.py +++ b/project_euler/problem_01/sol4.py @@ -1,12 +1,12 @@ """ 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. """ -def solution(n): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. >>> solution(3) diff --git a/project_euler/problem_01/sol5.py b/project_euler/problem_01/sol5.py index bd96d965f92d..31926a2dc2c9 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): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. + A straightforward pythonic solution using comprehension. >>> solution(3) 0 @@ -21,7 +20,7 @@ def solution(n): 83700 """ - return sum([i for i in range(n) if i % 3 == 0 or i % 5 == 0]) + return sum(i for i in range(n) if i % 3 == 0 or i % 5 == 0) if __name__ == "__main__": diff --git a/project_euler/problem_01/sol6.py b/project_euler/problem_01/sol6.py index c9f94b9f77c8..31f8bc9b6e8f 100644 --- a/project_euler/problem_01/sol6.py +++ b/project_euler/problem_01/sol6.py @@ -1,12 +1,12 @@ """ 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. """ -def solution(n): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. >>> solution(3) diff --git a/project_euler/problem_01/sol7.py b/project_euler/problem_01/sol7.py index a0510b54c409..593fed299aa9 100644 --- a/project_euler/problem_01/sol7.py +++ b/project_euler/problem_01/sol7.py @@ -1,12 +1,12 @@ """ 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. """ -def solution(n): +def solution(n: int) -> int: """Returns the sum of all the multiples of 3 or 5 below n. >>> solution(3)