niedziela, 7 lutego 2016

Project Euler - Zadanie 2 - treść po polsku

Treść oryginalna


Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.

Tłumaczenie


Każdy kolejny wyraz w ciągu Fibonacciego powstaje jako suma dwóch wyrazów poprzedzających.

Rozpoczynając ciąg od wyrazów 1 i 2 otrzymujemy następujące pierwsze dziesięć wyrazów ciągu:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

Uwzględniając tylko te wyrazy ciągu, które nie przekraczają czterech milionów, znajdź sumę wyrazów parzystych.

Rozwiązanie






def fibbonaci():
a, b = 1, 2
yield a
yield b
while True:
a, b = b, a + b
if b > 4 * 10 ** 6:
break
else:
yield b

sum(i for i in fibbonaci() if i % 2 == 0)

Brak komentarzy :

Prześlij komentarz