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

कैरी का प्रचार किए बिना दो संख्याओं का जोड़?

यहाँ हम एक समस्या देखेंगे, जहाँ हम दो n अंकों की संख्याएँ जोड़ेंगे लेकिन वाहक प्रचारित नहीं होगा। इस अवधारणा को हम एक उदाहरण से समझ सकते हैं -

कैरी का प्रचार किए बिना दो संख्याओं का जोड़?

तो हम देख सकते हैं कि यहाँ केवल अंक जुड़ रहे हैं और उत्तर रखा गया है। यहाँ एक चाल है। हमें संख्याओं को दाएं से बाएं स्कैन करना होगा। तो 3+2 =6 का योग पहले निकाला जाएगा, लेकिन इसे अंत में रखा जाएगा। इसलिए हम मध्यवर्ती परिणामों को संग्रहीत करने के लिए स्टैक का उपयोग करेंगे।

एल्गोरिदम

noPropagateCarry(a, b)

begin
   size = max of length of a and length of b
   for i in range i to size, do
      al := last digit of a
      bl := last digit of b
      push (al + bl) into stack
      a := a / 10
      b := b /10
   done
   pop and print the elements from stack
end

उदाहरण

#include<iostream>
#include<stack>
#include<cmath>
using namespace std;
int length(int n){
   return log10(n) + 1;
}
void noPropagateCarry(int a, int b){
   int size = max(length(a), length(b));
   stack<int> stk;
   for(int i = 0; i <size; i++){
      int al = a % 10; //last digit of a
      int bl = b % 10; //last digit of b
      stk.push(al + bl);
      a = a / 10; b = b/10;
   }
   while(!stk.empty()){
      cout << stk.top();
      stk.pop();
   }
}
main() {
   int a = 7583, b = 9642;
   cout << "Result: ";
   noPropagateCarry(a, b);
}

आउटपुट

Result: 1611125

  1. सी # में किसी विधि का उपयोग किए बिना दो बाइनरी नंबरों का योग ज्ञात करें?

    सबसे पहले, बाइनरी नंबरों के साथ दो वैरिएबल घोषित करें और इनिशियलाइज़ करें। val1 = 11010; val2 = 10100; Console.WriteLine("Binary one: " + val1); Console.WriteLine("Binary two: " + val2); योग प्राप्त करने के लिए, लूप करें जब तक कि दोनों मान 0 न हों। while (val1 != 0 || val2 != 0

  1. सी # में एक अस्थायी चर का उपयोग किए बिना दो नंबर कैसे स्वैप करें

    दो संख्याओं की अदला-बदली करने के लिए, तीसरे चर का उपयोग करें और एक अस्थायी चर का उपयोग किए बिना अंकगणितीय ऑपरेटर करें। अदला-बदली के लिए दो चर सेट करें - val1 = 5; val2 = 10; अब स्वैप के लिए निम्नलिखित ऑपरेशन करें - val1 = val1 + val2; val2 = val1 - val2; val1 = val1 - val2; उदाहरण using System; na

  1. दो नंबर जोड़ने के लिए पायथन कार्यक्रम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन हमें दो बड़ी संख्याएं दी जाएंगी और हमें उन्हें जोड़ने और आउटपुट प्रदर्शित करने की आवश्यकता है। ब्रूटफोर्स दृष्टिकोण ऑपरेंड के बीच + ऑपरेटर का उपयोग करेगा या हम दो नंबरों को एक पुनरावर्तनीय में स्