मैं हास्केल में अपने फिबोबाची अनुक्रम कार्यान्वयन के परिणाम देख रहा था जब मुझे संख्याओं के ऑप्टपुट में कुछ "अजीब" रूपों का एहसास हुआ।फिबोनासी सेक। अजीब आउटपुट फॉर्म (हास्केल)
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
मिथ्या 10 की तरह कुछ उत्पादन होगा के लिए:
सबसे पहले, इस हास्केल कोड मैं के साथ आए हैं है [0,1,1,2,3,5, 8,13,21,34,55] फिर मैं फिब 1000 की तरह कुछ कोशिश करना चाहता था, जबकि संख्याएं अविश्वसनीय रूप से बड़ी हैं और सभी ... मैंने जो देखा वह कुछ अजीब elipses "," के बीच मुद्रित किया गया था प्रत्येक पूर्णांक सूची से, उदाहरण के लिए:
तो मैंने maxed अगर यह अजीब पैटर्न अभी भी दोहराने होगा उत्पादन विंडो के आकार को देखने के लिए, और जवाब है हां:
और मेरे सवाल यह है:
किसी को भी क्यों में इस पैटर्न दिखाई देता है पता है " , "सूची से इंटीजर के बीच? क्या यह अधिक यादृच्छिक और कम नहीं होना चाहिए?
यह भी देखें [यह reddit पोस्ट] (http://www.reddit.com/r/haskell/comments/xwfbm/iterate_2_1/)। –
यह [कोडगोल्फ] पर अद्भुत होगा (http://codegolf.stackexchange.com/) – crockeea