👤

Proszę o napisanie dwóch funkcji w wersji rekurencyjnej i iteracyjnej w Pythonie na obliczanie n-tego wyrazu ciągu Fibonacciego.

Odpowiedź :

Odpowiedź

Program który napisałam znajdziesz w pierwszym załączniku. W drugim załączniku jest druga połowa wyniku wykonania programu. (Pierwsza połowa jest podobna, :) różni się tylko nagłówkiem.)

Po słusznej uwadze kolegi napisałam wersję iteracyjną – trzeci załącznik. Zdecydowałam się tam na rozpoczęcie ciągu od zera.

Należy wyeliminować sprawdzanie n = 2, ewentualnie n = 0. Jednak nie wiem jak jest zdefiniowany na Twoich lekcjach ciąg Fibonacciego, czy od n = 1, czy od n = 0. (Podobnie jest z liczbami naturalnymi, które zaczynają się od 1, ale czasami od 0...)

Wyjaśnienie

Na swoim komputerze widziałam wyraźną różnicę prędkości pomiędzy obliczaniem wzorem jawnym na n-ty wyraz, a obliczaniem rekurencyjnym.

Zobacz obrazek 0AB
Zobacz obrazek 0AB
Zobacz obrazek 0AB

Go Studier: Inne Pytanie