Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> प्रोग्रामिंग

बेस n संख्याओं को जोड़ना


परिचय

इस समस्या में, दो संख्याएं दी गई हैं। उन संख्याओं का आधार n है। हमें उन संख्याओं के जोड़ का परिणाम बेस n में भी ढूंढना है।

सबसे पहले, संख्याओं को दशमलव संख्याओं में बदला जाता है। दशमलव मानों से, हम उन्हें केवल जोड़ सकते हैं। अंत में, संख्याओं को फिर से बेस n संख्या में बदला जाता है।

bेस n संख्याओं को एक स्ट्रिंग के रूप में दिया जाता है, क्योंकि उन संख्याओं के लिए, जिनका आधार 9 से अधिक है, उनमें संख्याओं को दर्शाने के लिए कुछ वर्णमाला अक्षर हो सकते हैं, जैसे हेक्साडेसिमल संख्याओं में, 6 अक्षर (A-F) होते हैं।

इनपुट और आउटपुट

इनपुट: एक संख्या प्रणाली का आधार: 16
पहली संख्या 2C
दूसरी संख्या 5F
आउटपुट: जोड़ का परिणाम है: 8B

एल्गोरिदम

baseNtoDec(number, base)

इनपुट: बेस N की संख्या स्ट्रिंग, बेस N का मान।

आउटपुट: बेस N में संख्या का दशमलव समतुल्य।

Begin
    len := number की लंबाई
    power := 1
    num := 0
    i := len -1 से 0 तक नीचे, करें
        यदि number[i] >= base, तो
            अमान्य संख्या लौटाएं
        num := num + number[i] * power
        power := power * base
    done
    num लौटाएं
End

decToBaseN(dec, base)

इनपुट: दशमलव संख्या, बेस N जिसमें दशमलव संख्या को बदलना है।

आउटपुट: बेस N की संख्या स्ट्रिंग।

Begin
    जब तक dec > 0, करें
        res := (dec mod base) को res के साथ संयोजित करें
        dec := dec / base
    done
    परिणाम को उल्टा करें
    res लौटाएं
End

addBaseN(num1, num2, base)

इनपुट: बेस N में दो संख्याएं, बेस N का मान।

आउटपुट: बेस N में जोड़ के बाद संख्या।

Begin
    dec1 := baseNtoDec(num1, base)
    dec2 := baseNtoDec(num2, base)
    sum := decToBaseN(dec1 + dec2, base)
    sum लौटाएं
End

उदाहरण (C++ कोड)

#include <iostream>
#include <algorithm>
using namespace std;

int getVal(char c) {
    if (c >= '0' && c <= '9')
        return int(c - '0'); // दी गई संख्या का दशमलव मान
    else
        return int(c - 'A' + 10); // अल्फान्यूमेरिक संख्याओं के लिए
}

char revVal(int n) {
    if (n >= 0 && n <= 9)
        return char(n + '0'); // दी गई संख्या का वर्ण मान
    else
        return char(n + 'A' - 10); // अल्फान्यूमेरिक संख्याओं के लिए, दशमलव से वर्ण प्राप्त करें
}

int baseNtoDec(string number, int base) {
    int len = number.size();
    int power = 1;
    int num = 0;
    for (int i = len - 1; i >= 0; i--) {
        // अंतिम अंक से पहले अंक तक
        if (getVal(number[i]) >= base)
            return INT_MIN; // जब कोई अंक >= आधार हो, तो त्रुटि के रूप में -ve infinity लौटाएं
        num += getVal(number[i]) * power;
        power = power * base;
    }
    return num;
}

string decToBaseN(int dec, int base) {
    string res = ""; // खाली स्ट्रिंग
    while (dec > 0) {
        res += revVal(dec % base);
        dec /= base;
    }
    reverse(res.begin(), res.end()); // अंतिम उत्तर प्राप्त करने के लिए स्ट्रिंग को उल्टा करें
    return res;
}

int main() {
    int base;
    string num1, num2, sum;
    cout << "Enter Base: "; cin >> base;
    cout << "Enter first number in base " << base << ": "; cin >> num1;
    cout << "Enter second number in base " << base << ": "; cin >> num2;
    sum = decToBaseN((baseNtoDec(num1, base) + baseNtoDec(num2, base)), base);
    cout << "The result of addition is: " << sum;
}

आउटपुट

Enter Base: 16
Enter first number in base 16: 2C
Enter second number in base 16: 5F
The result of addition is: 8B
  1. JavaScript नंबर्स उदाहरण JavaScript नंबर्स उदाहरण

    JavaScript में नंबर्स के लिए एक उदाहरण निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &

  1. - JavaScript में स्ट्रिंग द्वारा दर्शाई गई संख्याओं को पूर्ण रूपांतरण के बिना जोड़ना

    हमें एक JavaScript फ़ंक्शन लिखना है जो दो स्ट्रिंग्स, str1 और str2 लेता है जो दो संख्याओं का प्रतिनिधित्व करती हैं। पूरी स्ट्रिंग्स को संबंधित संख्याओं में बदले बिना, हमारे फ़ंक्शन को उन दो स्ट्रिंग संख्याओं का योग निकालना चाहिए और परिणाम को स्ट्रिंग के रूप में वापस करना चाहिए। उदाहरण के लिए - यदि

  1. JavaScript में दो संख्याओं को जोड़ते समय आवश्यक कैरी की संख्या JavaScript में दो संख्याओं को जोड़ते समय आवश्यक कैरी की संख्या

    समस्याहमें एक JavaScript फ़ंक्शन लिखना है जो दो संख्याएं लेता है। हमारा फ़ंक्शन उन कैरी की संख्या गिनना चाहिए जो हमें उन संख्याओं को जोड़ते समय लेनी पड़ती हैं जैसे कि हम उन्हें कागज पर जोड़ रहे हों। जैसे निम्नलिखित छवि में 179 और 284 को जोड़ते समय, हमने दो बार कैरी का उपयोग किया था, इसलिए इन दो संख्