पृष्ठभूमि
यहाँ पर अधिकांश लोग कई आधार प्रणालियों से परिचित होने चाहिए: दशमलव, बाइनरी, हेक्साडेसिमल, ऑक्टल। हेक्साडेसिमल प्रणाली में, संख्या 12345 16 का प्रतिनिधित्व करेगा
1*16^4 + 2*16^3 + 3*16^2 + 4*16^1 + 5*16^0
ध्यान दें कि हम आमतौर पर आधार (यहां, 16
) को अंकों से अंकों में बदलने की उम्मीद नहीं कर रहे हैं ।
इन सामान्य स्थिति प्रणालियों का एक सामान्यीकरण आपको प्रत्येक अंक के लिए एक अलग संख्यात्मक आधार का उपयोग करने की अनुमति देता है। उदाहरण के लिए, यदि हम दशमलव और बाइनरी सिस्टम (न्यूनतम महत्वपूर्ण अंकों में आधार 10 के साथ शुरू) के बीच वैकल्पिक कर रहे थे, तो संख्या 190315 [2,10) का प्रतिनिधित्व करेगी
1*10*2*10*2*10 + 9*2*10*2*10 + 0*10*2*10 + 3*2*10 + 1*10 + 5 = 7675
हम इस आधार को निरूपित करते हैं [2,10]
। सही-सबसे आधार न्यूनतम महत्वपूर्ण अंक से मेल खाता है । फिर आप आधारों (बाईं ओर) से गुजरते हैं जैसे ही आप अंकों (बाईं ओर) से गुजरते हैं, चारों ओर लपेटते हैं यदि आधार से अधिक अंक हैं।
आगे पढ़ने के लिए, विकिपीडिया देखें ।
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें, जो D
एक इनपुट बेस I
और आउटपुट बेस के अंकों की एक सूची दी गई है, जो आधार से आधार O
द्वारा दर्शाए गए पूर्णांक को धर्मान्तरित करता है । आप STDIN, ARGV या फ़ंक्शन तर्क के माध्यम से इनपुट ले सकते हैं और परिणाम को वापस कर सकते हैं या इसे STDOUT में प्रिंट कर सकते हैं।D
I
O
आप मान सकते हैं:
- कि संख्या में
I
औरO
सब से अधिक हैं1
। I
औरO
गैर खाली कर रहे हैं।- इनपुट नंबर दिए गए आधार में मान्य है (यानी, आधार से बड़ा कोई अंक नहीं)।
D
खाली (प्रतिनिधित्व 0
) हो सकता है या अग्रणी शून्य हो सकता है। आपके आउटपुट में अग्रणी शून्य नहीं होना चाहिए। विशेष रूप से, परिणाम का प्रतिनिधित्व 0
एक खाली सूची के रूप में किया जाना चाहिए।
आपको किसी भी अंतर्निहित या तृतीय-पक्ष आधार रूपांतरण कार्यों का उपयोग नहीं करना चाहिए।
यह कोड गोल्फ है, सबसे छोटा उत्तर (बाइट्स में) जीतता है।
उदाहरण
D I O Result
[1,0,0] [10] [2] [1,1,0,0,1,0,0]
[1,0,0] [2] [10] [4]
[1,9,0,3,1,5] [2,10] [10] [7,6,7,5]
[1,9,0,3,1,5] [2,10] [4,3,2] [2,0,1,1,0,1,3,0,1]
[52,0,0,0,0] [100,7,24,60,60] [10] [3,1,4,4,9,6,0,0]
[0,2,10] [2,4,8,16] [42] [1,0]
[] [123,456] [13] []
[0,0] [123,456] [13] []
[]
अगर इनपुट है तो मैं इसका उत्पादन करना चाहूंगा[0]