如何在Haskell中创建一个函数来计算我调用“fib”函数的次数?

icnyk63a  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(121)

我在Haskell中创建了一个函数,称为“fib”,它显然可以计算斐波纳契数:

fib :: Integer -> Integer
fib 0 = 0
fib 1 = 1
fib x
    | x < 0 = error "argumento negativo"
    | otherwise = fib (x - 1) + fib (x - 2)

但现在,我想做一个函数叫“callsFib”,它必须计算它调用“fib”函数的次数,以便计算它的斐波纳契数.例如:
调用Fib(3)= 5,因为光纤(3)=光纤(2)+光纤(1)=光纤(1)+光纤(0)+光纤(0)

2wnc66cl

2wnc66cl1#

它将如下所示:

callsFib :: Integer -> Integer
callsFib 0 = 0
callsFib 1 = 0
callsFib x
    | x < 0 = error "argumento negativo"
    | otherwise = 2 + callsFib (x - 1) + callsFib (x - 2)

相关问题