当我在数字的 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
对于像 fib 10 这样的输出将是:[0,1,1,2,3,5,8,13,21,34,55] 然后我想尝试像 fib 1000 这样的数字,而数字非常大而且所有...我看到的是由“,”形成的一些奇怪的省略号,这些省略号在列表中的每个整数之间打印出来,例如:
所以我已经最大化了输出窗口的大小,看看这个奇怪的模式是否还会重复,答案是肯定的:
我的问题是:
有谁知道为什么在列表中的整数之间的“,”中出现这种模式?它不应该更随机,更不像省略号吗?