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?

0

znalazlem taki kod:

#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 ???

1

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

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

0

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

1

to samo...

0

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

0

zrobuiilem caly kod wyglada tak

#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: :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1