#include <stdio.h> #include <stdlib.h> #include "sucessao.h" int main(int argc, char *argv[]) { int n, res; unsigned long Fn; #ifdef CONTABILIZA printf("Numero de chamadas da funcao Fibonacci recursiva.\n"); #endif printf("Qual o valor n? "); while((res = scanf("%d", &n)) != 1 && res != EOF) /* Nada */; if(res == EOF) return EXIT_FAILURE; #ifdef CONTABILIZA /* Anula contador: */ SUCfibonacciRec(-1); #endif /* Calcula Fibonacci: */ printf("F(%d) = %lu\n", n, Fn=SUCfibonacciRec(n)); #ifdef CONTABILIZA /* Imprime numero de chamadas: */ printf("chamadas = %lu\n", SUCfibonacciRec(-2)); #endif /* Imprime numero de chamadas com funcao SUCnfibonacci(): */ printf("nF(%d) = %lu\n", n, SUCnfibonacci(n)); /* Ou simplesmente (ver comentarios em sucessao.c): */ printf("2xF(%d)-1 = %lu\n", n, 2*Fn-1); return EXIT_SUCCESS; }