Pagini recente » Cod sursa (job #1252767) | Cod sursa (job #53189) | Cod sursa (job #176257) | Cod sursa (job #1154128) | Cod sursa (job #1498360)
#include <bits/stdc++.h>
#define nmax 1000002
using namespace std;
int a[nmax], n;
long long D;
char s[nmax];
long long Imparte(long long x)
{
int i;
long long r;
r = 0;
for (i = n; i >= 1; --i)
{
r = r * 10LL + 1LL*a[i];
r = r % x;
}
return r;
}
void Afisare()
{
int i;
ofstream fout("next.out");
for (i = n; i >= 1; i--)
fout << a[i];
fout << "\n";
fout.close();
}
void Aduna(long long x)
{
int i;
long long y;
for (i = 1; i <= n && x > 0; ++i)
{
y = a[i] + x;
a[i] = y % 10;
x = y / 10;
}
while (x > 0)
{
a[++n] = x % 10;
x /= 10;
}
}
void Citire()
{
int i, k;
ifstream fin("next.in");
fin >> s;
fin >> D;
fin.close();
n = strlen(s);
k = 0;
for (i = n - 1; i >= 0; --i)
a[++k] = s[i] - '0';
}
void Rezolva()
{
long long r;
r = Imparte(D);
if (r > 0) Aduna(D - r);
}
int main()
{
Citire();
Rezolva();
Afisare();
return 0;
}