यह हमारे हाल के मानकों को I / O आवश्यकताओं को समायोजित करने के लिए, एक पुरानी चुनौती का एक प्रतिनिधि है । यह इस लोकप्रिय अनुक्रम के बारे में एक चुनौती में अधिक भाषाओं को भाग लेने की अनुमति देने के प्रयास में किया जाता है। रेपोस्ट की चर्चा के लिए यह मेटा पोस्ट देखें ।
कोलाकोस्की अनुक्रम एक मजेदार आत्म-संदर्भ अनुक्रम है, जिसमें OEIS अनुक्रम A000002 होने का सम्मान है (और A000001 की तुलना में इसे समझना और लागू करना बहुत आसान है)। अनुक्रम 1 से शुरू होता है , इसमें केवल 1 एस और 2 एस होते हैं और अनुक्रम तत्व (एन) अनुक्रम में 1 वें या 2 एस के एन वें रन की लंबाई का वर्णन करता है । यह विशिष्ट रूप से (रन के नीचे के दृश्य के साथ) होने के क्रम को परिभाषित करता है:
1,2,2,1,1,2,1,2,2,1,2,2,1,1,2,1,1,2,2,1,2,1,1,2,1,2,2,1,1,2,1,1,2,...
= === === = = === = === === = === === = = === = = === === = === =
1, 2, 2, 1,1, 2, 1, 2, 2, 1, 2, 2, 1,1, 2, 1,1, 2, 2, 1, 2, 1,...
आपका कार्य, निश्चित रूप से, इस क्रम को लागू करना है। ऐसा करने के लिए आप तीन में से एक प्रारूप चुन सकते हैं:
- एक इनपुट n लें और अनुक्रम के n वें शब्द को आउटपुट करें , जहां n 0 या 1 से शुरू होता है ।
- एक इनपुट n लें और अनुक्रम के n वें टर्म सहित और उन शब्दों को आउटपुट करें , जहाँ n 0 या 1 से शुरू होता है (यानी या तो पहले n या पहले n + 1 शब्द को प्रिंट करें )।
- अनुक्रम से आउटपुट मान अनिश्चित काल के लिए।
दूसरे और तीसरे मामले में, आप किसी भी उचित, असंदिग्ध सूची प्रारूप का चयन कर सकते हैं। यदि तत्वों के बीच कोई विभाजक नहीं है, तो यह ठीक है, क्योंकि वे हमेशा परिभाषा के अनुसार एक ही अंक होते हैं।
तीसरे मामले में, यदि आपका सबमिशन एक फ़ंक्शन है, तो आप उन भाषाओं में एक अनंत सूची या एक जनरेटर भी लौटा सकते हैं जो उनका समर्थन करते हैं।
आप एक प्रोग्राम या फ़ंक्शन लिख सकते हैं और इनपुट प्राप्त करने और आउटपुट प्रदान करने के हमारे किसी भी मानक तरीके का उपयोग कर सकते हैं। ध्यान दें कि इन खामियों को डिफ़ॉल्ट रूप से मना किया गया है।
यह कोड-गोल्फ है , इसलिए सबसे छोटा वैध उत्तर - बाइट्स में मापा जाता है - जीतता है।