-- Lösung: Fibonacci-Funktion mit Tail-Rekursion fibonacciTail :: Integer -> Integer -> Integer -> Integer fibonacciTail 0 a _ = a fibonacciTail n a b = fibonacciTail (n - 1) b (a + b) fibonacci :: Integer -> Integer fibonacci n = fibonacciTail n 0 1 -- Testfälle test1 = fibonacci 0 == 0 test2 = fibonacci 1 == 1 test3 = fibonacci 2 == 1 test4 = fibonacci 3 == 2 test5 = fibonacci 5 == 5 test6 = fibonacci 10 == 55 test7 = fibonacci 15 == 610 test8 = fibonacci 20 == 6765 -- Hauptfunktion zum Testen main :: IO () main = do putStrLn "Teste Fibonacci-Funktion mit Tail-Rekursion..." print test1 print test2 print test3 print test4 print test5 print test6 print test7 print test8