इस समस्या में दो अंक दिए गए हैं। उन संख्याओं का आधार n है। हमें आधार n में भी जोड़ने के बाद उन संख्याओं का परिणाम ज्ञात करना है।
सबसे पहले, संख्याओं को दशमलव संख्याओं में परिवर्तित किया जाता है। दशमलव मानों से, हम उन्हें आसानी से जोड़ सकते हैं। अंत में, संख्याओं को फिर से आधार n संख्या में बदल दिया जाता है।
n आधार संख्याएं एक स्ट्रिंग के रूप में दी गई हैं, क्योंकि उन संख्याओं के लिए, जिनका आधार 9 से अधिक है, इसमें संख्याओं का प्रतिनिधित्व करने के लिए कुछ अक्षर हो सकते हैं, जैसे हेक्साडेसिमल संख्याएं, 6 अक्षर (A-F) होते हैं।
इनपुट और आउटपुट
<पूर्व>इनपुट: एक संख्या प्रणाली का आधार:16पहला नंबर 2Cदूसरा नंबर 5FOआउटपुट:जोड़ने का परिणाम है:8Bएल्गोरिदम
baseNtoDec(संख्या, आधार)
इनपुट - आधार N की संख्या स्ट्रिंग, आधार N का मान.
आउटपुट - आधार N में संख्या के बराबर दशमलव ।
प्रारंभ लेन:=संख्या शक्ति की लंबाई:=1 अंक:=0 के लिए i:=लेन -1 से 0 तक, यदि संख्या[i]>=आधार करें, तो अमान्य संख्या संख्या लौटाएं:=संख्या + संख्या[ i] * पावर पावर:=पावर * बेस किया हुआ रिटर्न numEnd
decToBaseN(dec, base)
इनपुट: दशमलव संख्या, आधार N एक दशमलव संख्या को उस आधार में बदलने के लिए।
आउटपुट: आधार N की संख्या स्ट्रिंग।
शुरू करें जबकि dec> 0, res करें:=concatenate (dec mod base) res dec के साथ:=dec / base किया हुआ रिजल्ट रिवर्स रिजल्ट रिसएंड
addBaseN(num1, num2, आधार)
इनपुट: आधार N में दो संख्याएँ, आधार N का मान।
आउटपुट: आधार N में जोड़ने के बाद की संख्या.
दिसंबर1 शुरू करें:=baseNtoDec(num1, base) dec2:=baseNtoDec(num2, base) sum :=decToBaseN(dec1 + dec2, base) रिटर्न समएंड
उदाहरण
#शामिल करें // दी गई संख्या का दशमलव मान अन्य रिटर्न इंट (सी-'ए'+10); // अल्फ़ान्यूमेरिक नंबरों के लिए} चार रेववल (इंट एन) {अगर (एन> =0 &&एन <=9) रिटर्न चार (एन + '0'); // दिए गए नंबर का कैरेक्टर वैल्यू रिटर्न चार (एन + 'ए' -10); // अल्फ़ान्यूमेरिक संख्याओं के लिए, दशमलव से वर्णमाला प्राप्त करें}int baseNtoDec(string number, int base) {int len =number.size(); इंट पावर =1; इंट संख्या =0; for(int i =len-1; i>=0; i--) {// अंतिम अंक से पहले अंक तक अगर (getVal (संख्या [i])> =आधार) वापसी INT_MIN; // जब एक अंक> =आधार होता है, तो वापसी -ve अनंत त्रुटि संख्या के रूप में + =getVal (संख्या [i]) * शक्ति; शक्ति =शक्ति * आधार; } वापसी संख्या;} स्ट्रिंग decToBaseN (इंट डीईसी, इंट बेस) {स्ट्रिंग रेस =""; // खाली स्ट्रिंग जबकि (dec> 0) {res + =RevVal (dec% आधार); दिसंबर / =आधार; } रिवर्स (res.begin (), res.end ()); // अंतिम उत्तर प्राप्त करने के लिए स्ट्रिंग को उल्टा करें रिस;}इंट मेन () {इंट बेस; स्ट्रिंग num1, num2, योग; cout <<"आधार दर्ज करें:"; सिनेमा>> आधार; cout <<"आधार में पहला नंबर दर्ज करें"<<आधार<<":";cin>> num1; cout <<"आधार में दूसरा नंबर दर्ज करें"<<आधार<<":";cin>> num2; योग =decToBaseN ((baseNtoDec (num1, आधार) + baseNtoDec (num2, आधार)), आधार); cout <<"जोड़ने का परिणाम है:" <<योग;}
आउटपुट
आधार दर्ज करें:16आधार 16 में पहला नंबर दर्ज करें:2Cआधार 16 में दूसरा नंबर दर्ज करें:5Fजोड़ने का परिणाम है:8B