Initial commit
This commit is contained in:
67
levieProekti/fibonacci.py
Normal file
67
levieProekti/fibonacci.py
Normal file
@@ -0,0 +1,67 @@
|
||||
# n = int(input("Введи число, до которого будут идти поколения "))
|
||||
# n = 5
|
||||
|
||||
def fibonacciRecAux(pokolenia, result, perv, vtor):
|
||||
if pokolenia == 1:
|
||||
return 0
|
||||
tret = perv + vtor
|
||||
# result = perv + vtor
|
||||
# pokolenia = pokolenia - 1
|
||||
if pokolenia == 0:
|
||||
return result
|
||||
else:
|
||||
return fibonacciRecAux(pokolenia - 1, result + tret, vtor, tret)
|
||||
|
||||
|
||||
def fibonacci(n):
|
||||
return fibonacciRecAux(n, 0, 1, 0)
|
||||
|
||||
|
||||
def fibonacciIt(pokolenia):
|
||||
if pokolenia == 1:
|
||||
return 0
|
||||
perv = 0
|
||||
vtor = 1
|
||||
result = perv + vtor
|
||||
for i in range(1, pokolenia - 1):
|
||||
tret = perv + vtor
|
||||
result = result + tret
|
||||
perv = vtor
|
||||
vtor = tret
|
||||
return result
|
||||
|
||||
|
||||
# print(fibonacci(n, 0))
|
||||
# print(fibonacciRec(n, 0, 0, 1, 0))
|
||||
|
||||
# res = fibonacci(n, 0)
|
||||
|
||||
if fibonacci(5) == 7:
|
||||
print('ok')
|
||||
else:
|
||||
print('wrong for 5')
|
||||
|
||||
if fibonacci(6) == 12:
|
||||
print('ok')
|
||||
else:
|
||||
print('wrong for 6')
|
||||
|
||||
if fibonacci(1) == 0:
|
||||
print('ok for 1')
|
||||
else:
|
||||
print('wrong for 1')
|
||||
|
||||
if fibonacci(2) == 1:
|
||||
print('ok')
|
||||
else:
|
||||
print('wrong for 2')
|
||||
|
||||
if fibonacci(3) == 2:
|
||||
print('ok')
|
||||
else:
|
||||
print('wrong for 3')
|
||||
|
||||
if fibonacci(7) == 20:
|
||||
print('ok')
|
||||
else:
|
||||
print('wrong for 7')
|
||||
Reference in New Issue
Block a user