mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
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:
parent
a8ad2d10b4
commit
f36a2f621e
@ -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__":
|
||||
|
@ -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__":
|
||||
|
@ -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.
|
||||
|
||||
|
@ -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__":
|
||||
|
@ -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__":
|
||||
|
Loading…
Reference in New Issue
Block a user