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

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


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

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

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

उदाहरण(C++)

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

#include <bits/stdc++.h>
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++ प्रोग्राम दो स्ट्रिंग्स को जोड़ने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। दो स्ट्रिंग्स का संयोजन एक नई स्ट्रिंग बनाने के लिए उनका जुड़ना है। उदाहरण के लिए। String 1: Mangoes are String 2: tasty Concatenation of 2 strings: Mangoes are tasty दो तारों को जोड़ने का कार्यक्रम इस प्रकार दिया गया

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

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

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

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