我有一个 Haskell 函数正在运行,但它做错了。
它应该输出一个斐波那契数列,直到指定的最大数量。
像这样:
fibonacciSequence 86
1 1 2 3 5 8 13 21 33 54
我的代码目前正在输出斐波那契数列中的前 10 个数字,而不是从 1 到 10 的斐波纳契数列。
它输出的是 1 1 2 3 5 8 13 21 33 54,但它应该是 1,1,2,3,5,8。
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib n = fib (n-1) + fib (n - 2)
---print (fib n)
fibList n = map fib[1..n]
main =
do
putStrLn "The fibonacci series from 1 to n is:"
print (fibList 10)
任何帮助将不胜感激。谢谢!