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: starttime = time.time() result = fibonacci(val) endtime = time.time() print(f"Fibonacci({val}) = {result}, czas wykonania: {endtime - start_time:.6f} sekund")
@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?
@pyroxar można poprawić rekurencję dodając parametr memo , który będzie przetrzymywał Ci odpowiednią wartość żeby funkcja rek. nie popłynęła za daleko i kod działa szybciej. Możesz zaimplementować do pythona
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:
starttime = time.time()
result = fibonacci(val)
endtime = time.time()
print(f"Fibonacci({val}) = {result}, czas wykonania: {endtime - start_time:.6f} sekund")
```
Komentarz usunięty przez autora
@pyroxar: chodzi ci o iteracje? iteracyjny?