作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在数字的 optput 中意识到一些“奇怪”的形式时,我正在观看我在 Haskell 中的斐波巴契序列实现的结果。
首先,这是我想出的 Haskell 代码:
fib :: Integer -> [Integer]
fib 0 = [0]
fib 1 = [0, 1]
fib a = (fib' 0 1 [0,1] 1 a)
fib' :: Integer -> Integer -> [Integer] -> Integer -> Integer -> [Integer]
fib' n1 n2 l cont n
| cont == n = l
| otherwise = (fib' n2 n3 (l++[n3]) (cont+1) n)
where n3 = n2 + n1
最佳答案
斐波那契数 grow as an exponential function n.
十进制数的长度本质上是以 10 为底的对数。因此,斐波那契的长度像 n 的线性函数一样增长,因为对数和指数相互抵消。
因此,如果您将它们打印在一列中,您会看到一条直线。但是您一个接一个地打印它们,因此位置会累积。如果您正在获取线性序列的累积和,则会得到一个二次序列。
在本地,每一行都包含大约相同数量的斐波那契数,我们称之为 k。这意味着两件事:
关于haskell - 斐波那契序列奇怪的输出形式(Haskell),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762009/
我是一名优秀的程序员,十分优秀!