आप एक स्ट्रिंग बनाना चाहते हैं जहां इंडेक्स में ( 1-अनुक्रमित ) चरित्र n
है n
। जब n
10 से कम हो, तो यह आसान है "123456789"
:। जब n
12 वर्ष का होता है, उदाहरण के लिए, यह असंभव हो जाता है, क्योंकि 9 से अधिक संख्या (बेस 10 में) एक से अधिक वर्ण लेते हैं। हम स्ट्रिंग को दो-चरित्र वाले पदार्थों में विभाजित करके समझौता कर सकते हैं "020406081012"
:। अब प्रत्येक स्थानापन्न के अंत का सूचकांक n
है n
।
यह किसी भी d
-digit नंबर के लिए सामान्यीकृत किया जा सकता है । यहाँ तीन अंकों की संख्या के लिए स्ट्रिंग के "0991021" भाग के लिए एक स्पष्टीकरण दिया गया है:
Index: ... * 97 98 99*100 101 102*103 ...
* * *
*---+---+---*---+---+---*---+
Character: ... * 0 | 9 | 9 * 1 | 0 | 2 * 1 | ...
*---+---+---*---+---+---*---+
यदि आपने अभी तक इसका पता नहीं लगाया है, तो आप एक प्रोग्राम / फ़ंक्शन लिखेंगे जो एक स्ट्रिंग या पूर्णांक लेता है और ऊपर निर्दिष्ट के रूप में इसके सेल्फ-रेफ़रेंशियल स्ट्रिंग को आउटपुट करता है। आप एकल-अंकीय संख्याओं, वर्णों या एकल-वर्ण स्ट्रिंग्स की एक सरणी भी आउटपुट कर सकते हैं।
दिया गया पूर्णांक हमेशा धनात्मक और विभाज्य होगा जिसकी लंबाई (जैसे 126 3 से विभाज्य है; 4928 4 से विभाज्य है)। आपके कार्यक्रम को सैद्धांतिक रूप से एक बड़े पैमाने पर इनपुट के लिए काम करना चाहिए, लेकिन आप यह मान सकते हैं कि यह आपकी भाषा के अधिकतम पूर्णांक और / या स्ट्रिंग लंबाई से छोटा है।
यदि आप अभी भी इसे प्राप्त नहीं करते हैं तो कुछ अवलोकन: आउटपुट की लंबाई हमेशा इनपुट ही होगी, और आउटपुट में दिखाई देने वाली संख्या इनपुट में अंकों की संख्या से विभाज्य होगी।
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
परीक्षण के मामलों
1 => 1
9 => 123456789
10 => 0204060810
105 => 003006009012015018021024027030033036039042045048051054057060063066069072075078081084087090093096099102105
1004 => 00040008001200160020002400280032003600400044004800520056006000640068007200760080008400880092009601000104010801120116012001240128013201360140014401480152015601600164016801720176018001840188019201960200020402080212021602200224022802320236024002440248025202560260026402680272027602800284028802920296030003040308031203160320032403280332033603400344034803520356036003640368037203760380038403880392039604000404040804120416042004240428043204360440044404480452045604600464046804720476048004840488049204960500050405080512051605200524052805320536054005440548055205560560056405680572057605800584058805920596060006040608061206160620062406280632063606400644064806520656066006640668067206760680068406880692069607000704070807120716072007240728073207360740074407480752075607600764076807720776078007840788079207960800080408080812081608200824082808320836084008440848085208560860086408680872087608800884088808920896090009040908091209160920092409280932093609400944094809520956096009640968097209760980098409880992099610001004