Advertisement
Caio_25

Fibonacci PD

Apr 23rd, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. #include<stdio.h>
  2.  
  3. long long int vet[1000] = {0};
  4.  
  5. long long int fib(int n, int *cont);
  6.  
  7. int main()
  8. {
  9.     int n,cont = 0;
  10.     printf("informe um valor: ");
  11.     scanf("%d", &n);
  12.    
  13.     printf("O fibonacci de %d eh %lld\n", n, fib(n, &cont));
  14.     printf("contador : %d\n", cont);
  15. }
  16.  
  17. long long int fib(int n, int *cont)
  18. {
  19.     *cont = *cont + 1;
  20.    
  21.     if(n == 1 || n == 2)
  22.     {
  23.         return(1);
  24.     }
  25.    
  26.     else
  27.     {
  28.         if(vet[n-1] == 0)
  29.         {
  30.             vet[n-1] = fib(n - 1, cont);
  31.         }
  32.        
  33.         if(vet[n - 2] == 0)
  34.         {
  35.             vet[n - 2] = fib(n - 2, cont);
  36.         }
  37.        
  38.         return(vet[n-1] + vet[n - 2] );
  39.     }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement