हमारे पास आधार 10, आधार 2, आधार 36, या यहां तक कि आधार -10 जैसी कई चुनौतियां हैं , लेकिन अन्य सभी तर्कसंगत आधारों के बारे में क्या है?
कार्य
आधार 10 और एक तर्कसंगत आधार में पूर्णांक को देखते हुए, पूर्णांक को उस आधार में (एक सरणी, स्ट्रिंग, आदि के रूप में) लौटाएं।
प्रक्रिया
एक तर्कसंगत आधार की कल्पना करना मुश्किल है, तो आइए एक्सप्लोडिंग डॉट्स का उपयोग करके इसे कल्पना करें :
आधार 3 में 17 को व्यक्त करते हुए इस एनीमेशन पर विचार करें:
प्रत्येक बिंदु एक इकाई का प्रतिनिधित्व करता है, और बक्से अंकों का प्रतिनिधित्व करते हैं: सबसे सही बॉक्स एक का स्थान है, मध्य बॉक्स 3 ^ 1 स्थान है, और बाईं ओर का बॉक्स 3 ^ 2 स्थान है।
हम एक स्थान पर 17 डॉट्स से शुरू कर सकते हैं। हालांकि, यह बेस 3 है, इसलिए लोगों की जगह 3 से कम होनी चाहिए। इसलिए, हम 3 डॉट्स को "विस्फोट" करते हैं और बाईं ओर बॉक्स पर एक डॉट बनाते हैं। हम इसे तब तक दोहराते हैं जब तक हम एक स्थिर स्थिति के साथ समाप्त हो जाते हैं जिसमें कोई विस्फोटक डॉट्स नहीं हैं (यानी एक ही बॉक्स में 3 डॉट्स)।
इसलिए बेस 10 में 17 बेस 3 में 122 है।
एक आंशिक आधार कुछ बिंदुओं को एक से अधिक बिंदुओं पर विस्फोट करने के लिए अनुरूप है। बेस 3/2 2 बनाने के लिए 3 डॉट्स का विस्फोट होगा।
बेस 3/2 में 17 व्यक्त करना:
तो बेस 10 में 17, बेस 3/2 में 21012 है।
नकारात्मक आधार समान रूप से काम करते हैं, लेकिन हमें संकेतों का ट्रैक रखना चाहिए (तथाकथित विरोधी डॉट्स का उपयोग, -1 के बराबर; एक खुले सर्कल द्वारा दर्शाया गया)।
बेस -3 में 17 को व्यक्त करना:
ध्यान दें, सभी बक्से के चिन्ह को एक जैसा बनाने के लिए अतिरिक्त विस्फोट होते हैं (शून्य की अनदेखी)।
इस प्रकार, बेस 10 में 17 बेस -3 में 212 है।
उपरोक्त दो मामलों के संयोजन में, नकारात्मक तर्कसंगत आधार समान रूप से काम करते हैं।
नियम
- कोई मानक खामियां नहीं हैं।
- आउटपुट में प्रत्येक "अंक" का चिह्न समान (या शून्य) होना चाहिए।
- सभी अंकों का निरपेक्ष मान आधार के अंश के निरपेक्ष मान से कम होना चाहिए।
- आप मान सकते हैं कि आधार का निरपेक्ष मूल्य 1 से अधिक है।
- आप मान सकते हैं कि एक तर्कसंगत आधार अपने सबसे कम रूप में है।
- आप अंश और हर के आधार को अलग से इनपुट में ले सकते हैं।
- यदि किसी संख्या में कई अभ्यावेदन हैं, तो आप उनमें से किसी एक को आउटपुट कर सकते हैं। (आधार 10 में 12
{-2, -8}
और{1, 9, 2}
आधार -10 में हो सकते हैं )
परीक्षण के मामलों:
प्रारूप: {in, base} -> result
{7, 4/3} -> {3, 3}
{-42, -2} -> {1, 0, 1, 0, 1, 0}
{-112, -7/3} -> {-6, -5, 0, -1, 0}
{1234, 9/2} -> {2, 3, 6, 4, 1}
{60043, -37/3} -> {-33, -14, -22, -8}
चूंकि कुछ इनपुटों में कई प्रतिनिधित्व हो सकते हैं, इसलिए मैं टीआईओ पर इस गणितज्ञ स्निपेट का उपयोग करके आउटपुट का परीक्षण करने की सलाह देता हूं ।
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में सबसे कम बाइट की गिनती के साथ प्रस्तुतियाँ जीतेंगी!
डॉट्स विस्फोट के बारे में अधिक जानकारी के लिए , वैश्विक गणित परियोजना की वेबसाइट पर जाएँ ! उनके पास एक शांत मैथी सामान है!