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

C++ में स्ट्रिंग्स गुणा करना


मान लीजिए हमारे पास दो संख्याएं स्ट्रिंग के रूप में हैं। हमें उन्हें गुणा करना है और परिणाम को भी स्ट्रिंग में लौटाना है। इसलिए यदि संख्याएं "26" और "12" हैं, तो परिणाम "312" होगा।

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • दो आर्गुमेंट्स x और y लेना जो दर्शाता है x, y को विभाजित करता है
  • यदि x < -Infinity और y = 1, तो इन्फिनिटी लौटाएं
  • a := |x|, b := |y| और ans := 0
  • जब तक a - b >= 0
    • p := 0
    • जब तक a - (b को 1 p बार लेफ्ट-शिफ्ट करके) >= 0
      • p := p + 1
    • a := a - (b को p बार लेफ्ट शिफ्ट करके)
    • ans := ans + 1 को p बार लेफ्ट शिफ्ट करके
  • यदि x > 0 सच है और y > 0 भी सच है, तो ans लौटाएं, अन्यथा (- ans) लौटाएं

उदाहरण (C++)

बेहतर समझ के लिए निम्नलिखित कार्यान्वयन देखें -

#include  using namespace std; class Solution { public:    string multiply(string num1, string num2); }; string Solution::multiply(string nums1, string nums2) {    int n = nums1.size();    int m = nums2.size();    string ans(n + m, '0');    for(int i = n - 1; i>=0; i--){       for(int j = m - 1; j >= 0; j--){          int p = (nums1[i] - '0') * (nums2[j] - '0') + (ans[i + j + 1] - '0');          ans[i+j+1] = p % 10 + '0';          ans[i+j] += p / 10 ;       }    }    for(int i = 0; i < m + n; i++){       if(ans[i] !='0')return ans.substr(i);    }    return "0"; } main(){    Solution ob;    cout << ob.multiply("28", "25"); }

इनपुट

"26" "12"

आउटपुट

"312"

  1. - C++ में दो स्ट्रिंग्स को जोड़ने (Concatenate) का प्रोग्राम

    एक स्ट्रिंग एक एक-आयामी कैरेक्टर सरणी है जो नल कैरेक्टर द्वारा समाप्त होती है। दो स्ट्रिंग्स का संयोजन (Concatenation) उन्हें जोड़कर एक नई स्ट्रिंग बनाना है। उदाहरण के लिए। स्ट्रिंग 1: Mangoes are स्ट्रिंग 2: tasty 2 स्ट्रिंग्स का संयोजन: Mangoes are tasty दो स्ट्रिंग्स को जोड़ने का एक प्रोग्राम निम

  1. - C++ में स्ट्रिंग को टोकनाइज़ कैसे करें?

    पहला तरीका शब्दों को स्पेस से अलग करके पढ़ने के लिए stringstream का उपयोग करना है। यह थोड़ा सीमित है लेकिन अगर आप उचित चेक प्रदान करते हैं तो यह कार्य काफी अच्छी तरह से करता है। उदाहरण #include <vector> #include <string> #include <sstream> using namespace std; int main() {  

  1. - पायथन में यूनिकोड स्ट्रिंग

    पायथन में सामान्य स्ट्रिंग्स आंतरिक रूप से 8-बिट ASCII के रूप में स्टोर होती हैं, जबकि यूनिकोड स्ट्रिंग्स 16-बिट यूनिकोड के रूप में स्टोर होती हैं। यह दुनिया की अधिकांश भाषाओं के विशेष कैरेक्टर्स सहित अधिक विविध कैरेक्टर्स के सेट की अनुमति देता है। मैं यूनिकोड स्ट्रिंग्स के अपने उपचार को निम्नलिखित