R7L2RZA2MV5A1
Zdjęcie przedstawia słonecznik.

I_R_W14_M09_Java Ciąg Fibonnaciego

Źródło: Jason Leung, domena publiczna.

Ciąg Fibonnaciego - wersja rekurencyjna

Napiszemy program, który zwróci element ciągu Fibonacciego o indeksie n. Zastosujemy rekurencję.

Napiszemy program, który zwróci element ciągu Fibonacciego o indeksie n. Zastosujemy iterację.Sprubuj rozwiązać zadanie samodzielnie, jeżeli popełnisz błąd zapoznaj się z dalszą częścią materiału.

1
Ćwiczenie 1

Napisz program, który wyznaczy n‑ty wyraz ciągu Fibonnaciego metodą rekurencyjną.

Specyfikacja problemu:

Dane:

  • n – liczba naturalna

Wynik:

  • n‑ty element ciągu Fibonnaciego

R1LHHTDP1CDV5
Linia 1. public static long rekFibonacci otwórz nawias okrągły int n zamknij nawias okrągły otwórz nawias klamrowy. Linia 3. zamknij nawias klamrowy.

Wybieramy typ long, ponieważ wartości kolejnych wyrazów ciągu Fibonacciego rosną wykładniczo.

Parametr n funkcji będzie indeksem elementu ciągu, który ma być obliczony.

Zapisujemy warunki, po których spełnieniu zostanie zatrzymane działanie funkcji i zwróci ona wartość. Wiemy, że pierwszy wyraz ciągu Fibonacciego – zatem wyraz o indeksie 0 – ma wartość 0. Natomiast drugi wyraz – czyli wyraz o indeksie 1 – wynosi 1. Zapiszemy odpowiednie instrukcje warunkowe.

Linia 1. public static long rekFibonacci otwórz nawias okrągły int n zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. if otwórz nawias okrągły n znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 3. return 0 średnik. Linia 4. zamknij nawias klamrowy else if otwórz nawias okrągły n znak równości znak równości 1 zamknij nawias okrągły otwórz nawias klamrowy. Linia 5. return 1 średnik. Linia 6. zamknij nawias klamrowy. Linia 7. zamknij nawias klamrowy.

Po zakończenie wykonujemmy rekurencyjne obliczanie (zgodnie z definicją) n‑1 i n‑2 elementu ciągu.

Linia 1. public static long rekFibonacci otwórz nawias okrągły int n zamknij nawias okrągły otwórz nawias klamrowy. Linia 2. if otwórz nawias okrągły n znak równości znak równości 0 zamknij nawias okrągły. Linia 3. return 0 średnik. Linia 4. else. Linia 5. if otwórz nawias okrągły n znak równości znak równości 1 zamknij nawias okrągły. Linia 6. return 1 średnik. Linia 7. else return rekFibonacci otwórz nawias okrągły n minus 1 zamknij nawias okrągły plus rekFibonacci otwórz nawias okrągły n minus 2 zamknij nawias okrągły. Linia 9. zamknij nawias klamrowy.