代码:
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 5005;
struct Bigint {
int a[N], len;
Bigint(string s) {
memset(a, 0, sizeof a);
len = s.size();
for (int i = 1; i <= len; i++) a[i] = s[len - i] - '0';
}
Bigint() {}
int &operator [] (int i) {
return a[i];
}
void flatten(int L) {
len = L;
for (int i = 1; i <= len; i++)
a[i + 1] += a[i] / 10, a[i] %= 10;
while (len > 1 && !a[len]) len--;
}
void print() {
while (len > 1 && !a[len]) len--;
for (int i = len; i >= 1; i--)
cout << a[i];
cout << "\n";
}
};
Bigint operator / (Bigint a, int b) {
Bigint c("0");
int d = 0;
for (int i = a.len; i >= 1; i--) {
c[i] = (d * 10 + a[i]) / b;
d = (d * 10 + a[i]) % b;
}
c.flatten(5005);
return c;
}
signed main() {
string s; int B;
cin >> s >> B;
Bigint a(s);
a = a / B;
a.print();
return 0;
}