Pagini recente » Cod sursa (job #3213160) | Rating Panait Marius (Mariuspana2005) | Cod sursa (job #3184669) | Cod sursa (job #1169681) | Cod sursa (job #47578)
Cod sursa(job #47578)
#include <fstream>
using namespace std;
long long Mod(int A[], long long B)
{
long long i, t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
int main()
{
ifstream fin("next.in");
ofstream fout("next.out");
int a[100002];
int b[100];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
char s[100002];
long long d;
int i;
fin.getline(s, 100003);
int n = strlen(s);
fin >> d;
a[0] = n;
for (i = 1; i <= n; i++)
a[n-i+1] = s[i-1] - '0';
long long r = Mod(a, d);
long long x = (d - r) % d;
int m = 0;
while (x)
{
m++;
b[m] = x % 10;
x /= 10;
}
b[0] = m;
int j, t = 0;
for (j = 1; j <= a[0] || j <= b[0] || t; j++, t /= 10)
a[j] = (t += a[j] + b[j]) % 10;
a[0] = j - 1;
for (i = a[0]; i >= 1; i--)
fout << a[i];
fout.close();
fin.close();
return 0;
}