सकारात्मक पूर्णांक का डिजिटल रूट (बार-बार डिजिटल योग) एक अंकों की गणना करने के लिए पिछले पुनरावृत्ति से परिणाम का उपयोग करके प्रत्येक पुनरावृत्ति पर योग अंकों की पुनरावृत्ति प्रक्रिया द्वारा प्राप्त (एकल अंक) मूल्य है। एक-अंकों की संख्या तक पहुंचने तक प्रक्रिया जारी रहती है।
उदाहरण के लिए, 65536 का डिजिटल रूट 7 है , क्योंकि 6 + 5 + 5 + 3 + 6 = 25 और 2 + 5 = 7 ।
सभी डिजिटल जड़ों को छांटना ज्यादा मायने नहीं रखता है, क्योंकि यह सिर्फ असीम रूप से कई 1 एस के साथ शुरू होगा ।
इसके बजाय, हम सभी एकल अंकों के पूर्णांक को उनकी डिजिटल जड़ों के साथ बनाते हैं, फिर सभी दोहरे अंकों की संख्या के साथ-साथ उनकी डिजिटल जड़ों, फिर ट्रिपल, चौगुनी और इसी तरह।
अब उन सूचियों में से प्रत्येक के लिए, हम इसे क्रमबद्ध करेंगे ताकि 1 के डिजिटल जड़ों वाले सभी पूर्णांक पहले दिखाई दें, फिर सभी पूर्णांक 2 की डिजिटल जड़ों और इसी तरह। छँटाई स्थिर होगी, ताकि छँटाई के बाद एक निश्चित डिजिटल जड़ों के साथ पूर्णांकों की सूची आरोही क्रम में होनी चाहिए।
अंत में हम इन सूचियों को एक एकल अनुक्रम में बदल देंगे। यह क्रम सभी एकल अंकों की संख्या के साथ शुरू होगा, फिर सभी दोहरे अंकों की संख्या (उनके डिजिटल रूट द्वारा क्रमबद्ध), फिर सभी ट्रिपल अंकों की संख्या और इसी तरह।
चुनौती:
इनपुट के रूप में एक सकारात्मक पूर्णांक n लें , और ऊपर वर्णित अनुक्रम में n 'वें नंबर को आउटपुट करें । आप चुन सकते हैं, तो सूची है 0 की -indexed 1 -indexed।
अनुक्रम इस प्रकार है:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 28, 37, 46, 55, 64, 73, 82, 91, 11, 20, 29 ...
72, 81, 90, 99, 100, 109, 118, ...
981, 990, 999, 1000, 1009, 1018, 1027, ...
परीक्षण के मामलों:
परीक्षण के मामले 1-अनुक्रमित हैं।
n f(n)
9 9
10 10
11 19
40 13
41 22
42 31
43 40
44 49
45 58
600 105
601 114
602 123
603 132
604 141
605 150
4050 1453
4051 1462
4052 1471
4053 1480
4054 1489
4055 1498
कॉपी करने में आसान:
n = 9, 10, 11, 40, 41, 42, 43, 44, 45, 600, 601, 602, 603, 604, 605, 4050, 4051, 4052, 4053, 4054, 4055,
f(n) = 9, 10, 19, 13, 22, 31, 40, 49, 58, 105, 114, 123, 132, 141, 150, 1453, 1462, 1471, 1480, 1489, 1498
स्पष्टीकरण:
- आप सभी n प्रथम तत्वों का उत्पादन नहीं कर सकते हैं। आप केवल n का उत्पादन करेंगे ।
- कोड को सैद्धांतिक रूप से 10 ^ 9 तक सभी पूर्णांकों के लिए काम करना चाहिए , लेकिन यह ठीक है अगर यह 999 से अधिक के इनपुट के लिए TIO (या समय प्रतिबंधों के साथ अन्य दुभाषियों) पर निकलता है ।
- स्पष्टीकरण को प्रोत्साहित किया जाता है।
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में सबसे छोटा कोड जीतता है! जिस भाषा में आप गोल्फ करना चाहते हैं, उसमें अन्य समाधानों से हतोत्साहित न हों, भले ही वे आपके द्वारा प्रबंधित किए जाने की तुलना में कम हों!