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 <god11341258@gmail.com>
Date:   Mon Oct 5 16:40:10 2020 -0700

    Fix typehints in project_euler/problem01

commit 29afc3af114abd1b99dc3f7c8fc99128229db131
Author: Archaengel <god11341258@gmail.com>
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
This commit is contained in:
Edward Nuno 2020-10-05 21:34:16 -07:00 committed by GitHub
parent a8ad2d10b4
commit f36a2f621e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 27 additions and 27 deletions

View File

@ -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 """Returns the sum of all fibonacci sequence even elements that are lower
or equals to n. or equals to n.
@ -28,13 +28,13 @@ def solution(n):
""" """
i = 1 i = 1
j = 2 j = 2
sum = 0 total = 0
while j <= n: while j <= n:
if j % 2 == 0: if j % 2 == 0:
sum += j total += j
i, j = j, i + j i, j = j, i + j
return sum return total
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -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 """Returns the sum of all fibonacci sequence even elements that are lower
or equals to n. or equals to n.
>>> solution(10) >>> solution(10)
[2, 8] 10
>>> solution(15) >>> solution(15)
[2, 8] 10
>>> solution(2) >>> solution(2)
[2] 2
>>> solution(1) >>> solution(1)
[] 0
>>> solution(34) >>> solution(34)
[2, 8, 34] 44
""" """
ls = [] even_fibs = []
a, b = 0, 1 a, b = 0, 1
while b <= n: while b <= n:
if b % 2 == 0: if b % 2 == 0:
ls.append(b) even_fibs.append(b)
a, b = b, a + b a, b = b, a + b
return ls return sum(even_fibs)
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -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 """Returns the sum of all fibonacci sequence even elements that are lower
or equals to n. or equals to n.

View File

@ -13,7 +13,7 @@ import math
from decimal import Decimal, getcontext 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 """Returns the sum of all fibonacci sequence even elements that are lower
or equals to n. or equals to n.
@ -57,8 +57,8 @@ def solution(n):
index = (math.floor(math.log(n * (phi + 2), phi) - 1) // 3) * 3 + 2 index = (math.floor(math.log(n * (phi + 2), phi) - 1) // 3) * 3 + 2
num = Decimal(round(phi ** Decimal(index + 1))) / (phi + 2) num = Decimal(round(phi ** Decimal(index + 1))) / (phi + 2)
sum = num // 2 total = num // 2
return int(sum) return int(total)
if __name__ == "__main__": if __name__ == "__main__":

View File

@ -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 """Returns the sum of all fibonacci sequence even elements that are lower
or equals to n. or equals to n.
@ -27,19 +27,19 @@ def solution(n):
44 44
""" """
a = [0, 1] fib = [0, 1]
i = 0 i = 0
while a[i] <= n: while fib[i] <= n:
a.append(a[i] + a[i + 1]) fib.append(fib[i] + fib[i + 1])
if a[i + 2] > n: if fib[i + 2] > n:
break break
i += 1 i += 1
sum = 0 total = 0
for j in range(len(a) - 1): for j in range(len(fib) - 1):
if a[j] % 2 == 0: if fib[j] % 2 == 0:
sum += a[j] total += fib[j]
return sum return total
if __name__ == "__main__": if __name__ == "__main__":