C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

商と余りの大きな数のためのC++プログラム


大きな数の刺し傷がnumと言い、別の大きな数がmと言うと仮定します。タスクは、除算演算を使用して商を出力し、モジュラスを使用して大きな数の余りを出力することです。

出力はRemainder=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

特定の問題を解決するために使用するアプローチ

  • 最初にmodを0に設定します。
  • 右から始めて、mod =(mod * 10 + Digit)%mを使用してmodを見つける必要があります。
  • quo [i] =mod / mで商を検索します。ここで、iは商の位置番号です。

アルゴリズム

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++での立方体の体積と表面積のプログラム

    キューブとは何ですか? 立方体は、正方形の6つの面を持つ3次元オブジェクトです。つまり、同じ長さと幅の辺があります。立方体は、次のプロパティを持つ唯一の正六面体です- 6つの顔 12個のエッジ 8つの頂点 以下は立方体の図です 問題 側面を考えると、タスクは立方体の総表面積と体積を見つけることです。ここで、表面積は面が占めるスペースであり、体積は形状に含めることができるスペースです。 立方体の表面積と体積を計算するには、次の式があります- 表面積=6*側面*側面 ボリューム=サイド*サイド*サイド 例 Input-: side=3 Output-: volume of c

  2. 商と剰余を計算するJavaプログラム

    この記事では、Javaで商とリマインダーを計算する方法を理解します。商とリマインダーは、2つの簡単な式「商=配当/除数」と「剰余=配当%除数」を使用して計算されます。 整数aと非ゼロの整数dが与えられると、a =qd+rおよび0≤r<|d|のように、一意の整数qおよびrが存在することを示すことができます。数qは商と呼ばれ、rは剰余と呼ばれます。 以下は同じのデモンストレーションです- 入力 入力が-であると仮定します Dividend value: 50 Divisor: 3 出力 必要な出力は-になります Quotient: 16 Remainder: 2 アルゴリズム