Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #-*- coding: utf-8 -*-
- '''
- Ciąg Fibonacciego i wzór Bineta
- Wikipedia:
- opis:
- http://pl.wikipedia.org/wiki/Ciąg_Fibonacciego
- http://pl.wikipedia.org/wiki/Ciąg_Fibonacciego#Wzór_Bineta
- wzór:
- http://upload.wikimedia.org/math/5/7/e/57eaa418ea8df41ac1473eb5430ca6c9.png
- '''
- import time
- #-----------------------------------------
- def fib(n):
- a, b = 0, 1
- for i in range(n):
- a, b = b, a+b
- return a
- #-----------------------------------------
- def binet(n):
- # TODO: obliczenia wedlug podanego wzoru
- print 'TODO: obliczenia wedlug podanego wzoru'
- wynik = 0
- return wynik
- #-----------------------------------------
- def czas_fib(n):
- start = time.time()
- fib(n)
- stop = time.time()
- print "czas wykonywania dla fib(%d): %f" % (n, stop - start)
- #-----------------------------------------
- def czas_binet(n):
- start = time.time()
- binet(n)
- stop = time.time()
- print "czas wykonywania dla binet(%d): %f" % (n, stop - start)
- #-----------------------------------------
- def czas():
- dane = [0, 1, 10, 15, 1000, 10000]
- for n in dane:
- czas_fib(n)
- czas_binet(n)
- print # linia odstepu miedzy probami
- #-----------------------------------------
- def test_fib(n, oczekiwany_wynik):
- print "test fib(%d) == %d :" % (n, oczekiwany_wynik),
- wynik = fib(n)
- if wynik == oczekiwany_wynik:
- print 'OK'
- else:
- print '!!', wynik
- #-----------------------------------------
- def test_binet(n, oczekiwany_wynik):
- print "test binet(%d) == %d :" % (n, oczekiwany_wynik),
- wynik = binet(n)
- if wynik == oczekiwany_wynik:
- print 'OK'
- else:
- print '!!', wynik
- #-----------------------------------------
- def test():
- dane = [ (0, 0), (1, 1), (2, 1), (3, 2), (4, 3), (10, 55), (15, 610) ]
- for n, oczekiwany in dane:
- test_fib(n, oczekiwany)
- print # linia odstepu miedzy probami
- for n, oczekiwany in dane:
- test_binet(n, oczekiwany)
- print # linia odstepu miedzy probami
- #-----------------------------------------
- test()
- czas()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement