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

भागफल और शेष बड़ी संख्या के लिए C++ प्रोग्राम

एक बड़ी संख्या के दंश को देखते हुए मान लीजिए संख्या और दूसरी बड़ी संख्या मान लीजिए m; कार्य भागफल को विभाजित ऑपरेशन का उपयोग करके और शेष बड़ी संख्या को मापांक का उपयोग करके प्रिंट करना है।

आउटपुट होना चाहिए शेष =xxx; भागफल =yyy

मान लें कि हमारे पास एक इनपुट num =string num ="14598499948265358486" और अन्य इनपुट m =487 है, इसलिए शेष 430 है और भागफल 29976385930729688 है।

उदाहरण

Input: num = “214755974562154868”
   m = 17
Output: Remainder = 15
   quotient = 12632704386009109
Input: num =“214”
   m = 5
Output: Remainder = 4
   Quotient = 42

दृष्टिकोण हम दी गई समस्या को हल करने के लिए उपयोग करेंगे -

  • शुरुआत में मॉड को 0 पर सेट करें।
  • दाईं ओर से शुरू करके हमें इसे मॉड का उपयोग करके खोजना होगा:mod =(mod * 10 + digit)% m।
  • को [i] =mod/m द्वारा भागफल ज्ञात करना, जहां मैं भागफल की स्थिति संख्या है।

एल्गोरिदम

Start
   Step 1 -> Declare long long ll
   Step 2 -> In function void quotientremainder(string num, ll m)
      Declare a vector<int> vec
      Set ll mod = 0
      Loop For i = 0 and i < num.size() and i++
         Set digit = num[i] - '0'
         Set mod = mod * 10 + digit
         Set quo = mod / m
         Call vec.push_back(quo)
         Set mod = mod % m
      End loop
      Print remainder value which is in mod
      Set zeroflag = 0
      Loop For i = 0 and i < vec.size() and i++
         If vec[i] == 0 && zeroflag == 0 then,
            Continue
         End If
         zeroflag = 1
         print the value of vec[i]
      End For
      Return
   Step 3 -> In function int main()
      Declare and assign num = "14598499948265358486"
      Declare and assign ll m = 487
      Call function quotientremainder(num, m)
Stop

उदाहरण

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
// Function to calculate the modulus
void quotientremainder(string num, ll m) {
   // Store the modulus of big number
   vector<int> vec;
   ll mod = 0;
   // Do step by step division
   for (int i = 0; i < num.size(); i++) {
      int digit = num[i] - '0';
      // Update modulo by concatenating
      // current digit.
      mod = mod * 10 + digit;
      // Update quotient
      int quo = mod / m;
      vec.push_back(quo);
      // Update mod for next iteration.
      mod = mod % m;
   }
   cout << "\nRemainder : " << mod << "\n";
   cout << "Quotient : ";
   // Flag used to remove starting zeros
   bool zeroflag = 0;
   for (int i = 0; i < vec.size(); i++) {
      if (vec[i] == 0 && zeroflag == 0)
         continue;
      zeroflag = 1;
      cout << vec[i];
   }
   return;
}
// main block
int main() {
   string num = "14598499948265358486";
   ll m = 487;
   quotientremainder(num, m);
   return 0;
}

आउटपुट

Remainder : 430
Quotient : 29976385930729688

  1. C++ में दशमलव से बाइनरी रूपांतरण के लिए कार्यक्रम

    एक इनपुट के रूप में एक दशमलव संख्या के साथ दिया गया, कार्य दिए गए दशमलव संख्या को एक बाइनरी संख्या में बदलना है। कंप्यूटर में दशमलव संख्या को आधार 10 के साथ दर्शाया जाता है और बाइनरी संख्या को आधार 2 के साथ दर्शाया जाता है क्योंकि इसमें केवल दो बाइनरी अंक 0 और 1 होते हैं जबकि दशमलव संख्या 0 - 9 से

  1. C++ में घन के आयतन और सतह क्षेत्र के लिए कार्यक्रम

    घन क्या है? घन एक त्रि-आयामी वस्तु है जिसमें चौकोर आकार के छह फलक होते हैं, जिसका अर्थ है कि इसकी लंबाई और चौड़ाई समान है। घन निम्नलिखित गुणों वाला एकमात्र नियमित हेक्साहेड्रोन है - छह चेहरे 12 किनारे 8 कोने घन की आकृति नीचे दी गई है समस्या पक्ष के साथ दिया गया, कार्य एक घन का कुल सतह क्षेत्र

  1. भागफल और शेष की गणना करने के लिए जावा प्रोग्राम

    इस लेख में, हम समझेंगे कि जावा में भागफल और अनुस्मारक की गणना कैसे करें। भागफल और अनुस्मारक की गणना दो सरल सूत्र भागफल =लाभांश / भाजक और शेष =लाभांश% भाजक का उपयोग करके की जाती है। एक पूर्णांक a और एक गैर-शून्य पूर्णांक d को देखते हुए, यह दिखाया जा सकता है कि अद्वितीय पूर्णांक q और r मौजूद हैं, जैस