TOPIC

Excedendo o Limite de Tempo

fhnpinto asked 5 years ago

Meu Código


y=int(input())
numcalls=-1
def fib(a):
        global numcalls
        if a==0:
            numcalls+=1
            return 0

        if a==1:
            numcalls+=1
            return 1
        else:
            numcalls+=1
            return (fib(a-1)+fib(a-2))
for i in range(y):
    n=int(input())
    x=fib(n)
    print('fib({}) = {} calls = {}'.format(y, numcalls, x))

***O código excede o limite de tempo por causa do uso de função? Qual seria a melhor solução? Obrigado pela ajuda.***

Remember not post solutions. Your post may be reviewed by our moderators.

  • profxx replied 4 years ago

    Estou com o mesmo problema. Já conseguiu resolver?

  • Wanderson-IFCE-Tiangua replied 4 years ago

    Amigo uma dica F(1) = 0 F(2) = 2 F(3) = 4 F(4) = 8 F(5) = 14 ... Tente acha o padrao e faca uma funcao para somente isso e calcule fibonacci pela formula.