Tôi đã xem kết quả của việc thực hiện chuỗi Fibobacci của tôi trong Haskell khi tôi nhận ra một số biểu mẫu "lạ" trong kết quả của các con số.Fibonacci Seq. hình thức đầu ra lạ (Haskell)
Trước hết, đây là mã Haskell tôi đã đi lên với:
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
Đối với một cái gì đó giống như fib 10 đầu ra sẽ là: [0,1,1,2,3,5, 8,13,21,34,55] Sau đó, tôi muốn thử một cái gì đó như fib 1000, trong khi những con số là vô cùng lớn và tất cả ... những gì tôi thấy là một số elipses kỳ lạ được hình thành bởi "," được in ra giữa mỗi Integer từ danh sách, ví dụ:
vì vậy, tôi đã maxed kích thước của cửa sổ đầu ra để xem nếu mô hình kỳ lạ này vẫn sẽ lặp lại, và câu trả lời là có:
Và câu hỏi của tôi là:
Có ai biết tại sao xuất hiện mô hình này trong " ", giữa các số nguyên từ danh sách? Không nên ngẫu nhiên hơn và ít giống như elips hơn?
Xem thêm [bài đăng reddit này] (http://www.reddit.com/r/haskell/comments/xwfbm/iterate_2_1/). –
Điều này thật tuyệt vời trên [CodeGolf] (http://codegolf.stackexchange.com/) – crockeea