Ejemplo n.º 1
0
"""Even Fibonacci numbers"""
from euler import fibonacci

#1. direct way
print(sum(i for i in fibonacci(4000000) if i % 2 == 0))

#2. every third number is even
Ejemplo n.º 2
0
import argparse
import math
import euler

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Solves problem number 19 of Euler Project")
    parser.add_argument("--limit", type=int, default=1000)
    args = parser.parse_args()

    for pos, fib in enumerate(euler.fibonacci()):
        if fib >= 10 ** (args.limit - 1):
            print pos + 1
            break
Ejemplo n.º 3
0
#!/usr/bin/env python

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

import euler

MAX = 4000000
num = 0
for x in euler.fibonacci():
    if x > MAX:
        break
    elif x % 2 == 0:
        num += x
print num
Ejemplo n.º 4
0
# /usr/bin/env/python
import time
from euler import fibonacci_n, fibonacci
from itertools import takewhile

start = time.time()
result = sum(x for x in fibonacci_n(4 * 10**6) if x % 2 == 0)
time_spend = time.time() - start

print "The sum is %s and take time is %f" % (result, time_spend)

start = time.time()
result = sum(x for x in takewhile(lambda x: x < 4 * 10**6, fibonacci())
             if x % 2 == 0)  # take while is helpful
time_spend = time.time() - start

print "The sum is %s and take time is %f" % (result, time_spend)
Ejemplo n.º 5
0
#!/usr/bin/env python

# What is the first term in the Fibonacci sequence to contain 1000
# digits?

import euler

i = 0
for x in euler.fibonacci():
    i+=1
    if len(str(x)) == 1000:
        print i, x
        break
Ejemplo n.º 6
0
import math
from euler import fibonacci

print sum(fib for fib in fibonacci(4000000) if fib%2 == 0)
Ejemplo n.º 7
0
 def testSuccess(self):
     expected = [1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
     actual = itertools.islice(euler.fibonacci(), 10)
     self.assertItemsEqual(expected, actual)
Ejemplo n.º 8
0
import math
import itertools
from euler import fibonacci

def fib_term(n):
	phi = (1+math.sqrt(5))/2
	return round(math.pow(phi, n)/math.sqrt(5))

for offset, num in enumerate(fibonacci()):
	length = len(str(num))
	if length >= 1000:
		print offset+1
		break
Ejemplo n.º 9
0
Archivo: p002.py Proyecto: ricbit/euler
import euler
import itertools

fib = itertools.takewhile(lambda f: f < 4000000, euler.fibonacci())
print(sum(i for i in fib if i % 2 == 0))

Ejemplo n.º 10
0
"""1000-digit Fibonacci number"""
from euler import fibonacci

N = 1000
maximum = 10**1001
for idx, i in enumerate(fibonacci(maximum), start=2):
    if len(str(i)) == N:
        print '{}th term contains 1000 digits: \n{}'.format(idx, i)
        break
Ejemplo n.º 11
0
import time
from euler import fibonacci

start = time.time()
result = 0
gen = fibonacci(10**1000)
i = 0
while True:
    num = gen.next()
    i += 1
    if len(str(num)) > 999:
        result = i
        break
spend = time.time() - start
print "The result is %s and take time is %f" % (result, spend)
Ejemplo n.º 12
0
def first_Fib_N_digits(N):
    for i, f in enumerate(fibonacci()):
        if f >= 10 ** (N - 1):
            return i + 1