From f36a2f621ed3b580c32bd863c8a5d2aaffbe76d1 Mon Sep 17 00:00:00 2001 From: Edward Nuno Date: Mon, 5 Oct 2020 21:34:16 -0700 Subject: [PATCH] Hacktoberfest 2020: Apply style guidelines for Project Euler problem_02 (#2898) * Fix typehints in project_euler/problem01 Squashed commit of the following: commit 6801d073b31bf702814861cd3b07b634ca295bfa Author: Archaengel Date: Mon Oct 5 16:40:10 2020 -0700 Fix typehints in project_euler/problem01 commit 29afc3af114abd1b99dc3f7c8fc99128229db131 Author: Archaengel Date: Mon Oct 5 15:06:34 2020 -0700 Add typehints and default argument for project_euler/problem_01 * Add default args, typehints, and expand variable names for PE prob 02 --- project_euler/problem_02/sol1.py | 8 ++++---- project_euler/problem_02/sol2.py | 18 +++++++++--------- project_euler/problem_02/sol3.py | 2 +- project_euler/problem_02/sol4.py | 6 +++--- project_euler/problem_02/sol5.py | 20 ++++++++++---------- 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/project_euler/problem_02/sol1.py b/project_euler/problem_02/sol1.py index ec89ddaeb..2acc93b0a 100644 --- a/project_euler/problem_02/sol1.py +++ b/project_euler/problem_02/sol1.py @@ -11,7 +11,7 @@ n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum is """ -def solution(n): +def solution(n: int = 4000000) -> int: """Returns the sum of all fibonacci sequence even elements that are lower or equals to n. @@ -28,13 +28,13 @@ def solution(n): """ i = 1 j = 2 - sum = 0 + total = 0 while j <= n: if j % 2 == 0: - sum += j + total += j i, j = j, i + j - return sum + return total if __name__ == "__main__": diff --git a/project_euler/problem_02/sol2.py b/project_euler/problem_02/sol2.py index bc5040cc6..01fc552b9 100644 --- a/project_euler/problem_02/sol2.py +++ b/project_euler/problem_02/sol2.py @@ -11,28 +11,28 @@ n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum is """ -def solution(n): +def solution(n: int = 4000000) -> int: """Returns the sum of all fibonacci sequence even elements that are lower or equals to n. >>> solution(10) - [2, 8] + 10 >>> solution(15) - [2, 8] + 10 >>> solution(2) - [2] + 2 >>> solution(1) - [] + 0 >>> solution(34) - [2, 8, 34] + 44 """ - ls = [] + even_fibs = [] a, b = 0, 1 while b <= n: if b % 2 == 0: - ls.append(b) + even_fibs.append(b) a, b = b, a + b - return ls + return sum(even_fibs) if __name__ == "__main__": diff --git a/project_euler/problem_02/sol3.py b/project_euler/problem_02/sol3.py index f29f21c28..53d8ca6f1 100644 --- a/project_euler/problem_02/sol3.py +++ b/project_euler/problem_02/sol3.py @@ -11,7 +11,7 @@ n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum is """ -def solution(n): +def solution(n: int = 4000000) -> int: """Returns the sum of all fibonacci sequence even elements that are lower or equals to n. diff --git a/project_euler/problem_02/sol4.py b/project_euler/problem_02/sol4.py index be4328941..a87410b70 100644 --- a/project_euler/problem_02/sol4.py +++ b/project_euler/problem_02/sol4.py @@ -13,7 +13,7 @@ import math from decimal import Decimal, getcontext -def solution(n): +def solution(n: int = 4000000) -> int: """Returns the sum of all fibonacci sequence even elements that are lower or equals to n. @@ -57,8 +57,8 @@ def solution(n): index = (math.floor(math.log(n * (phi + 2), phi) - 1) // 3) * 3 + 2 num = Decimal(round(phi ** Decimal(index + 1))) / (phi + 2) - sum = num // 2 - return int(sum) + total = num // 2 + return int(total) if __name__ == "__main__": diff --git a/project_euler/problem_02/sol5.py b/project_euler/problem_02/sol5.py index 180906cf8..dcf6eae85 100644 --- a/project_euler/problem_02/sol5.py +++ b/project_euler/problem_02/sol5.py @@ -11,7 +11,7 @@ n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum is """ -def solution(n): +def solution(n: int = 4000000) -> int: """Returns the sum of all fibonacci sequence even elements that are lower or equals to n. @@ -27,19 +27,19 @@ def solution(n): 44 """ - a = [0, 1] + fib = [0, 1] i = 0 - while a[i] <= n: - a.append(a[i] + a[i + 1]) - if a[i + 2] > n: + while fib[i] <= n: + fib.append(fib[i] + fib[i + 1]) + if fib[i + 2] > n: break i += 1 - sum = 0 - for j in range(len(a) - 1): - if a[j] % 2 == 0: - sum += a[j] + total = 0 + for j in range(len(fib) - 1): + if fib[j] % 2 == 0: + total += fib[j] - return sum + return total if __name__ == "__main__":