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

C++ में दो बड़ी संख्याओं का योग

इस समस्या में, हमें दो तार दिए गए हैं जो दो बड़ी संख्याओं को परिभाषित करते हैं। हमारा काम दो बड़ी संख्याओं का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input: number1 = “341299123919”
number2 = “52413424”
Output: 341351537343

इस समस्या को हल करने के लिए, हम दोनों स्ट्रिंग को पार करेंगे। और अंकों से अंक जोड़ें और कैरी का प्रचार करें। और परिणाम अंक को अंकों से योग स्ट्रिंग में संग्रहीत करें।

एल्गोरिदम

Initialize sum = 0, carry = 0.
Step 1: loop from n to 0.
Step 1.1: intSum = number1[i] + number2[i]
Step 1.2: carry = intSum/10. Sum += intSum
Step 2: sum += carry.
Step 3: return sum.

उदाहरण

हमारे समाधान की कार्यप्रणाली को दर्शाने के लिए कार्यक्रम,

#include<bits/stdc++.h>
using namespace std;
string addBigNumbers(string number1, string number2) {
   if (number1.length() > number2.length())
    swap(number1, number2);
   string sum = "";
   int len1 = number1.length();
   int len2 = number2.length();
   int digitDiff = len2 - len1;
   int carry = 0;
   int intSum;
   for (int i=len1-1; i>=0; i--) {
      intSum = ((number1[i]-'0') + (number2[i+digitDiff]- '0') + carry);
      sum.push_back(intSum%10 + '0');
      carry = intSum/10;
   }
   for (int i=digitDiff-1; i>=0; i--) {
      intSum = ((number2[i]-'0')+carry);
      sum.push_back(intSum%10 + '0');
      carry = intSum/10;
   }
   if (carry)
    sum.push_back(carry+'0');
   reverse(sum.begin(), sum.end());
   return sum;
}
int main() {
   string number1 = "235235823852";
   string number2 = "45230820348";
   cout<<"Sum of two large numbers is "<<addBigNumbers(number1,x number2);
   return 0;
}

आउटपुट

Sum of two large numbers is 280466644200



  1. C++ में श्रृंखला 1, 3, 6, 10… (त्रिकोणीय संख्या) का योग

    इस समस्या में, हमें एक संख्या n दी गई है, जिसे श्रृंखला 1, 3, 6, 10… (त्रिकोणीय संख्या) के तत्वों का n दिया गया है। हमारा काम श्रृंखला के योग की गणना के लिए एक कार्यक्रम बनाना है। आइए योग की गणना करने से पहले त्रिकोणीय संख्याओं पर ध्यान दें। त्रिभुज संख्याएँ वे संख्याएँ होती हैं जिन्हें त्रिभुज के

  1. C++ में N के नीचे दो संख्याओं के गुणजों का योग

    इस समस्या में, हमने तीन पूर्णांक M1, M2, और N दिए हैं। हमारा कार्य N के नीचे दो संख्याओं के गुणजों का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है। यहां, हम N के नीचे सभी तत्वों को जोड़ेंगे जो M1 या M2 में से किसी एक के गुणज हैं समस्या को समझने के लिए एक उदाहरण लेते हैं, इनपुट N = 13, M1 = 4, M

  1. दो योग IV - इनपुट C++ में एक BST है

    मान लीजिए हमारे पास एक बाइनरी सर्च ट्री और एक लक्ष्य मान है; हमें यह जांचना होगा कि क्या बीएसटी में दो तत्व मौजूद हैं जैसे कि उनका योग दिए गए लक्ष्य के बराबर है या नहीं। तो, अगर इनपुट पसंद है तो आउटपुट ट्रू होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - सरणी को परिभाषित करें v एक