Wpis z mikrobloga

#dlaczego Ten Fibonaci jest szybszy? #programowanie #python

def fibonacci(n):
wynik = None
poprzednia_liczba = None
obecna_liczba = None

for krok in range(1, n+1):
if krok == 1:
poprzednia_liczba = 0
wynik = poprzednia_liczba
elif krok == 2:
obecna_liczba = 1
wynik = obecna_liczba
else:
wynik = poprzednia_liczba + obecna_liczba
poprzednia_liczba = obecna_liczba
obecna_liczba = wynik

#print("Wynik: ", wynik)
return wynik

import time
test_values = [10, 20, 30, 35]
for val in test_values:
start_time = time.time()
result = fibonacci(val)
end_time = time.time()
print(f"Fibonacci({val}) = {result}, czas wykonania: {end_time - start_time:.6f} sekund")
````python`

--------------
niż ten?:

import time

def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)

# Testowanie czasu wykonania dla różnych wartości n
testvalues = [10, 20, 30, 35]
for val in testvalues:
start
time = time.time()
result = fibonacci(val)
endtime = time.time()
print(f"Fibonacci({val}) = {result}, czas wykonania: {end
time - start_time:.6f} sekund")

```
  • 10
  • Odpowiedz
  • 0
@PatrykEm1990: @tytanowyy wychodzi na to, że aby obliczyć ostatni wynik, trzeba policzyć wszystkie od początku i przekazać do następnego. Jak się nazywa fachowo ten pierwszy kod? No jeden to rekurencja, a drugi?
  • Odpowiedz