Blog - Szara Myszka

v.2.0 beta
Trwają prace nad ulepszeniem kodu stron. Prosimy o cierpliwość. Strony nie zostały porzucone
Login: Hasło:

2010-07-16 13:15:16: Kolejne podbicie wersji bloga po pewnym czasie ciszy

Ciąg Fibonacciego w C++ - Rekurencja

edukacja Dodano: 2009-03-08 10:48:41
Edytowano: 2009-03-08 10:48:41

A tak mnie ostatnio naszło na ten ciąg. Bo na matematyce są ciągi, a w pierwszej klasie u nas robią tablice. Jak dla mnie jest to idealny przykład do pokazania operacji na tablicach.

Kod ten ma wypisać nam w okienku konsoli jaką wartość ma konkretny element z ciągu Fibonacciego. A cóż to jest ten ciąg? Wikipedia daje takie fajne naukowe wytłumaczenie. Ja ujmę to swoimi słowami. Każdy element (z wyjątkiem 1 i 2, bo one mają wartość 1) jest równy sumie 2 poprzednich. Wygląda to następująco: 1, 1, 2, 3, 5, 8, 13, 21, 34, itd. Niestety jest to taki ciąg którego nie możemy określić wzorem ogólnym w stylu 2n + 3. Dlatego też trzeba napisać program, który krok po kroku (lub step by step, jak to mówi mój matematyk ) zapełnić tablicę danymi. Oto taki prosty kod już z objaśnieniami w komentarzach.

  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. long long fib(int n)
  6.         {
  7.         switch (n)
  8.                 {
  9.                 case 1:
  10.                 case 2:
  11.                 return 1;
  12.                 break;
  13.                
  14.                 default:
  15.                 return fib(n-2) + fib(n-1);
  16.                 }
  17.         }
  18.  
  19. int main(){
  20.  
  21. int n;
  22. cin >> n;
  23. cout << fib(n);
  24.  
  25. cin.ignore();
  26. cin.get();
  27. return 0;
  28. }
  29.  

Oczywiście jeżeli coś będzie nie jasne, zapraszam do komentowania. Mam nadzieję, że komuś się to przyda


Zobacz również

Nic nie pasuje? Polecam użyć wyszukiwarki na górze strony.

Wróć

Komentarze

Grzegorz Łuszczek pisze:
Ech.. mój błąd. Jakiś czas był tu nierekurencyjny kod podpisany jako rekurencyjny ;)

Dodaj komentarz

Nick:
Jak mia� na imi� Juliusz S�owacki?:
0.088