//se detmn. un valoarea elementului n din sirul lui Fibonacci //este un sir de numere intregi #include #include //V1 long FiboR(int n) { if(n==0 || n==1) return 1; else return(FiboR(n-1)+FiboR(n-2)); } //V2 long FiboI1( int n) { int i; long x,y,z; x=1; y=1; for(i=2;i<=n; i++) { z=x+y; x=y; y=z; } return(z); } //V3 =cu doua variabile long FiboI2 (int n) { int i; long x,y,temp; x=1; y=1; for(i=2;i<=n;i++) { x+=y; //x=x+y temp=x; x=y; y=temp; } x=y; return(x); } void main() { int n1; long f; printf("Dati nr. de ordine al termenului pe care doriti sa-l afati sir!\n"); printf("n="); scanf("%d",&n1); printf("Recursiv al %d-lea termen din sir este egal cu %d\n",n1,FiboR(n1)); f=FiboI1(n1); printf("Iterativ cu 3 vb. al %d-lea termen este egal cu %d\n",n1,f); printf("Iterativ cu 2 vb. al %d-lea termen este egal cu %d\n",n1,FiboI2(n1)); getch(); }