AcWing 794. 高精度除算


正の整数A,Bを2つ与えて、A/Bの商と残高を計算してください.
入力形式は2行で、1行目は整数A、2行目は整数Bです.
出力フォーマットは2行で、1行目は求めた商を出力し、2行目は求めた残数を出力します.
データ範囲1≦Aの長さ≦100000,1≦B≦10000入力サンプル:7 2出力サンプル:3 1
#include
#include
#include
#include
#include
using namespace std;
vector<int> div(vector<int> &A,int b,int&r)
{
     
  r=0;
  vector<int> C;
  for(int i=A.size()-1;i>=0;i--)
  {
     
    r=r*10+A[i];
    C.push_back(r/b);
    r%=b;
  }
    reverse(C.begin(), C.end());
    while (C.size() > 1 && C.back() == 0) C.pop_back();
    return C;
}
int main()
{
     
   	string a;
    vector<int> A;

    int B;
    cin >> a >> B;
    for (int i = a.size() - 1; i >= 0; i -- ) A.push_back(a[i] - '0');
    int r;
  auto C=div(A,B,r);
  for(int i=C.size()-1;i>=0;i--)
    cout<<C[i];
  cout<<endl<<r<<endl;
  return 0;
}