Generator liczb Fibonacciego

Generator liczb Fibonacciego
0

Każda liczba ciągu Fibonacciego jest sumą dwóch liczb bezpośrednio
ją poprzedzających.
Pierwszy wyraz ciągu jest równy 0, drugi wyraz jest równy 1.

Czyli ciąg liczb Fibonacciego wygląda następująco:
0,1,1,2,3,5,8,13,21,34,55,89....

jakiej funkcji uzyc najlepiej ze jak wprowadze liczbe 5, to zostaną wygenerowane i wyświetlone
liczby 0,1,1,2,3.

jak wporwadze 2 to bedzie 1,0 itd?

WIDMO
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 20 lat
  • Postów:159
0

znalazlem taki kod:

Kopiuj
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>

int fib(n){
if ((n==1)||(n==2))
 return 1;
 else
return fib(n-1)+fib(n-2);
}
void main(void){
int n;
printf("n= ");
scanf("%d",&n);
printf("\n %d-ty wyraz ciagu Fibonacciego: %d\n",n,fib(n));
getch();
return;
}

ale on wyswietla konkretna liczbe a jak wyswietlic wszytskie po kolei ???


Zawsze sie cos spie....li
Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
1

ekhem.. az tak trudne to to nie jest ;p

Kopiuj
int daj_pare_fibooof( int ktory )
{
  int a = 0, b = 1, c;
  if( ktory >= 0 ) printf(" 0 "); else return 0;
  if( ktory >= 1 ) printf(" 1 "); else return 0;
  ktory--;
  for( ; ktory > 0; ktory-- )
  {
     c = a + b;
     b = a; a = c;
     printf( " %i ", c );
  }
   return 0;
}

po co tu wogoole rekursja huh ?
tyo chyba nawet bedzie dzialac, moze wyswietlic jedna za duzo albo jedna za malo cyfre ;> wez z ifami najwyzje pokombinuj


peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein
0

rekursja to to samo co rekurencja czy ci sie tylko przejezyczylo?

Gynvael Coldwind
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Zurich, Switzerland
  • Postów:457
1

to samo...


peace,
gynvael.coldwind//vx "Imagination is more important than knowledge..." Albert Einstein
0

Wydaje mi się, że rekursja i rekurencja to chyba są odzielne terminy.
Ale nie jestem tego pewien.

0

zrobuiilem caly kod wyglada tak

Kopiuj
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <iostream.h>



int para( int ktory )

{
   int a = 0, b = 1, c;
   if( ktory >= 1 ) printf(" 0 "); else return 0;
   ktory--;
   for( ; ktory > 0; ktory-- )
   {
       c = a + b;
       b = a; a = c;
       printf( " %i ", c );
   }
    return 0;
}

void main(void){
int n;
cout<<"Ciag Fibonacciego";
cout<<"Podaj ile ma byc wyrazow ciagu ? :=";
cin>>n;
para(n);
getch();
return;
}

DZiekuje WAM: :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.