def fibonacci_method(tf, a, b, eps=1e-7):
    start_n = fibonacci_inverse((b - a) / eps) + 1
    if start_n > 90:
        return None
    lamb = a + (fibonacci(start_n - 2) / fibonacci(start_n)) * (b - a)
    meu = a + (fibonacci(start_n - 1) / fibonacci(start_n)) * (b - a)
    for i in range(start_n - 2):
        f_lamb = tf(lamb)
        f_meu = tf(meu)
        if f_lamb > f_meu:
            a = lamb
            lamb = meu
            meu = a + fibonacci(start_n - 2 - i) / fibonacci(start_n - 1 -
                                                             i) * (b - a)
        else:
            b = meu
            meu = lamb
            lamb = a + fibonacci(start_n - 3 - i) / fibonacci(start_n - 1 -
                                                              i) * (b - a)
    meu = lamb + eps**2
    f_lamb = tf(lamb)
    f_meu = tf(meu)
    if f_lamb > f_meu:
        a = lamb
    else:
        b = meu
    return (a + b) * 0.5
Esempio n. 2
0
 def arvuta_fibo(self,event):
     #print(event.__dict__)
     vastus = fibonacci(self.n_var.get())
     self.fibo_var.set(vastus)
from __future__ import division
from Fibonacci import fibonacci

print(fibonacci(300))
Esempio n. 4
0
 def test_fibonacci_2(self):
     self.assertEqual(fibonacci(2), [0, 1])
Esempio n. 5
0
 def test_fibonacci_3(self):
     self.assertEqual(fibonacci(3), [0, 1, 1])
Esempio n. 6
0
 def test_fibonacci_error(self):
     self.assertEqual(fibonacci(0), "Error")
 def test_Fiboonaci_dez(self):
     self.assertEqual(55,fibonacci(10))
 def test_Fiboonaci_zero(self):
     self.assertEqual(0,fibonacci(0))
 def test_Fiboonaci_um(self):
     self.assertEqual(1,fibonacci(1))