All Your Base

All Your Base

कठिन

परिचय

आपको अभी-अभी गणित के प्रोफेसर की नौकरी मिली है। आपका पहला सप्ताह अच्छा गुज़रा, लेकिन दूसरे सप्ताह में कुछ गड़बड़ है। समस्या यह है कि आपके विद्यार्थियों द्वारा दिया गया हर उत्तर गलत है! सौभाग्य से, आपके गणित के कौशल से आप यह पहचान पाए कि असली दिक्कत कहाँ है: विद्यार्थियों के उत्तर वास्तव में सही हैं, लेकिन वे सब आधार 2 (बाइनरी) में हैं! हैरानी की बात यह है कि हर सप्ताह विद्यार्थी कोई अलग आधार इस्तेमाल करते हैं। इसके लिए कि आप विद्यार्थियों के उत्तर जल्दी जाँच सकें, आप एक टूल बनाएँगे जो संख्याओं को एक आधार से दूसरे आधार में बदल देता है।

निर्देश

एक आधार में लिखे अंकों के क्रम को, जो एक संख्या दर्शाता है, दूसरे आधार के अंकों के क्रम में बदलिए, जो वही संख्या दर्शाता है।

Note

इस रूपांतरण को खुद लागू करने की कोशिश कीजिए। रूपांतरण करने के लिए किसी और चीज़ का इस्तेमाल न कीजिए।

स्थानीय मान पद्धति के बारे में

स्थानीय मान पद्धति में b आधार वाली किसी संख्या को b की घातों के रैखिक संयोजन के रूप में समझा जा सकता है।

संख्या 42, आधार 10 में, का अर्थ है:

(4 × 10¹) + (2 × 10⁰)

संख्या 101010, आधार 2 में, का अर्थ है:

(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)

संख्या 1120, आधार 3 में, का अर्थ है:

(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)

हाँ। ऊपर लिखी ये तीनों संख्याएँ बिल्कुल एक ही हैं। बधाई हो!

  • digits कॉलम में पूर्णांकों का एक ऐरे होता है, जो JSON में एनकोड किया गया होता है। उदाहरण:
    [1,0,1,0,1,0]
    
  • result कॉलम में JSON में एनकोड किया गया डेटा होना चाहिए: एक ऑब्जेक्ट जिसमें अंक पूर्णांकों के रूप में हों, या किसी भी एरर का विवरण। उदाहरण:
    {"digits":[1,0,1,0,1,0]}
    
    या
    {"error":"some error description"}
    

टेबल स्कीमा

CREATE TABLE IF NOT EXISTS "all-your-base" (
  input_base  INTEGER NOT NULL,
  digits      TEXT    NOT NULL, -- json array
  output_base INTEGER NOT NULL,
  result      TEXT              -- json object
);

JSON का दस्तावेज़ीकरण

JSON के फंक्शन और ऑपरेटर

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
SQLite Exercism

All Your Base शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और SQLite को 81 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।