Pagini recente » Cod sursa (job #1048596) | Cod sursa (job #2282176) | Cod sursa (job #2433786) | Cod sursa (job #508249) | Cod sursa (job #1741773)
#include <fstream>
#include <cmath>
#include <vector>
#include <iomanip>
#include <queue>
#include <cstring>
#include <algorithm>
#include <queue>
#include <unordered_set>
#include <set>
#include <map>
#include <stack>
using namespace std;
ifstream cin("next.in");
ofstream cout("next.out");
const int MAXN = 1000000;
char v[3 + MAXN], v0[20];
int main() {
cin >> v + 1;
int n;
n = strlen(v + 1);
for (int i = 1; i <= n; i++)
v[i] -= '0';
for (int i = 1; i <= n / 2; i++)
swap(v[i], v[n - i + 1]);
long long d, r = 0;
cin >> d;
for (int i = n; i >= 1; i--)
r = (r * 10 + v[i]) % d;
if (r) {
r = d - r;
int m = 0;
while (r) {
m++;
v0[m] = r % 10;
r /= 10;
}
n = max(n, m);
int c = 0;
for (int i = 1; i <= n; i++) {
if (i <= m)
v[i] = v[i] + v0[i] + c;
else
v[i] = v[i] + c;
c = v[i] / 10;
v[i] %= 10;
}
if (c) {
n++;
v[n] = c;
}
}
for (int i = n; i >= 1; i--)
cout << (int) v[i];
return 0;
}