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__":