आधार रूपांतरण के लिए हमारे पास कुछ चुनौतियां हैं, लेकिन वे सभी पूर्णांक मानों पर लागू होती हैं। चलो वास्तविक संख्याओं के साथ करते हैं!
चुनौती
इनपुट:
- एक वास्तविक धनात्मक संख्या x , जिसे आधार 10 में व्यक्त किया गया है। इसे दोहरे-सटीक फ्लोट के रूप में या स्ट्रिंग के रूप में लिया जा सकता है। सटीक मुद्दों से बचने के लिए, संख्या को 10 less6 से अधिक और 10 15 से कम माना जा सकता है ।
- एक लक्ष्य आधार b । यह 2 से 36 तक का पूर्णांक होगा।
- भिन्नात्मक अंकों की एक संख्या n । यह 1 से 20 तक पूर्णांक होगा।
आउटपुट: प्रतिनिधित्व की एक्स आधार में ख के साथ n दशमलव अंक।
आउटपुट अभिव्यक्ति की गणना करते समय, n -th से आगे के अंकों को छोटा किया जाना चाहिए (गोल नहीं)। उदाहरण के लिए, x = 3.141592653589793
बेस में b = 3
है 10.0102110122...
, इसलिए n = 3
आउटपुट के लिए 10.010
(ट्रंकेशन) होगा, न कि 10.011
(गोलाई)।
भिन्नात्मक भाग में अंकों की एक सीमित संख्या का उत्पादन करने वाले x और b के लिए, समान अनंत प्रतिनिधित्व ( n अंक में काट दिया गया ) की भी अनुमति है। उदाहरण के लिए, 4.5
दशमलव के रूप में भी दर्शाया जा सकता है 4.49999...
।
फ़्लोटिंग पॉइंट त्रुटियों के बारे में चिंता न करें ।
इनपुट और आउटपुट प्रारूप
x बिना अग्रणी शून्य के दिया जाएगा। यदि x एक पूर्णांक होता है, तो आप मान सकते हैं कि यह एक शून्य दशमलव भाग ( 3.0
), या दशमलव भाग ( 3
) के बिना दिया जाएगा ।
आउटपुट लचीला है। उदाहरण के लिए, यह हो सकता है:
- पूर्णांक और भिन्नात्मक भागों के बीच एक उपयुक्त विभाजक (दशमलव बिंदु) के साथ संख्या का प्रतिनिधित्व करने वाला एक स्ट्रिंग। अंक
11
,12
आदि ( 10 से परे बी के लिए ) को अक्षरोंA
केB
रूप में, सामान्य रूप से, या किसी अन्य विशिष्ट वर्ण के रूप में दर्शाया जा सकता है (कृपया निर्दिष्ट करें)। - पूर्णांक भाग के लिए एक स्ट्रिंग और आंशिक भाग के लिए एक और स्ट्रिंग।
- दो सरणियाँ / सूचियाँ, प्रत्येक भाग के लिए एक, जिसमें अंकों से
0
लेकर35
अंक तक होते हैं।
केवल प्रतिबंध यह है कि पूर्णांक और भिन्नात्मक भागों को अलग-अलग (उपयुक्त विभाजक) बताया जा सकता है और एक ही प्रारूप का उपयोग कर सकते हैं ( उदाहरण के लिए, [5, 11]
पूर्णांक भाग का प्रतिनिधित्व करने वाली सूची के लिए नहीं और ['5', 'B']
भिन्नात्मक भाग का प्रतिनिधित्व करने वाली सूची के लिए)।
अतिरिक्त नियम
- प्रोग्राम या फ़ंक्शंस की अनुमति है, किसी भी प्रोग्रामिंग भाषा में । मानक खामियों को मना किया जाता है।
- बाइट्स में सबसे छोटा कोड जीतता है।
परीक्षण के मामलों
आउटपुट अंकों के साथ एक स्ट्रिंग के रूप में दिखाया गया है 0
, ..., 9
, A
, ..., Z
, का उपयोग करते हुए .
दशमलव विभाजक के रूप।
x, b, n -> output(s)
4.5, 10, 5 -> 4.50000 or 4.49999
42, 13, 1 -> 33.0 or 32.C
3.141592653589793, 3, 8 -> 10.01021101
3.141592653589793, 5, 10 -> 3.0323221430
1.234, 16, 12 -> 1.3BE76C8B4395
10.5, 2, 8 -> 1010.10000000 or 1010.01111111
10.5, 3, 8 -> 101.11111111
6.5817645, 20, 10 -> 6.BCE2680000 or 6.BCE267JJJJ
0.367879441171442, 25, 10 -> 0.94N2MGH7G8
12944892982609, 29, 9 -> PPCGROCKS.000000000
42, 13, 1
हम कर सकते 33
हैं 33.0
?
n
दशमलव अंक होने चाहिए