एक प्रोग्राम या नामांकित फ़ंक्शन लिखें, जो कि n
Iccanobif अनुक्रम में वें पूर्णांक तक अनुक्रम को आउटपुट करेगा या वापस करेगा , O014 पर A014258 के रूप में प्रलेखित । ध्यान दें कि शून्य में केवल शून्य तत्व ( 0
) मुद्रित होगा n
।
अनुक्रम मानक फाइबोनैचि अनुक्रम की तरह शुरू करके उत्पन्न होता है, लेकिन दो पिछले संख्याओं को जोड़ने के बाद, आप परिणाम को फ्लिप करते हैं और किसी भी अग्रणी शून्य को छोड़ देते हैं। एक दिलचस्प तथ्य, मेरे लिए कम से कम, यह है कि यह क्रम सख्ती से नहीं बढ़ रहा है (नीचे दी गई सूची देखें)। यह भी लगता है (और शायद है) सख्ती से अधिक से अधिक या बराबर फाइबोनैचि अनुक्रम के बराबर है।
आपके प्रोग्राम का इनपुट पूर्णांक होना चाहिए।
आपके देखने की खुशी के लिए अनुक्रम के पहले 20 नंबर यहां दिए गए हैं:
0, 1, 1, 2, 3, 5, 8, 31, 93, 421, 415, 638, 3501, 9314, 51821, 53116, 739401, 715297, 8964541, 8389769
मानक खामियों को मना किया जाता है।
सबसे छोटा कार्यक्रम जीतता है।
संपादित करें: यह स्पष्ट करने के लिए एक नोट जोड़ा गया कि अनुक्रम शून्य तत्व से शुरू होता है और शून्य होने पर इसे शामिल किया जाना चाहिए n
।
उदाहरण IO संभावनाएं:
0 -> 0
1 -> 0 1
6 -> 0 1 1 2 3 5 8
17 -> [0, 1, 1, 2, 3, 5, 8, 31, 93, 421, 415, 638, 3501, 9314, 51821, 53116, 739401, 715297]
अब जब कई उत्तर हैं, तो पायथन 2 में मेरे कार्यान्वयन नीचे दिए गए हैं, जिन्हें मैंने मार्कअप के साथ छिपाने के लिए कड़ी मेहनत की थी:
Iterative:
# मेरे प्रारंभिक कार्यक्रम के लिए सबसे बेहतर। 73 बाइट्स। यह भी ध्यान दिया जाना चाहिए कि यह कार्यक्रम स्टैक ओवरफ्लो तक नहीं पहुंच सकता। यह 10 सेकंड से कम समय में n = 5000 के लिए चलता है।i,a,b=input(),0,1 print a while i:print b;i,a,b=i-1,b,int(str(a+b)[::-1])
पुनरावर्ती:
# नोट करें कि यह प्रिंटn
नई सुर्खियों में है। 64 बाइट्स। N के बड़े मानों के लिए एक स्टैक ओवरफ्लो त्रुटि होगी।def f(n,i=0,j=1):print i,n and f(n-1,j,int(str(i+j)[::-1]))or'';