#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;
}