Pagini recente » Borderou de evaluare (job #2156731) | Borderou de evaluare (job #180109) | Cod sursa (job #855120) | Cod sursa (job #1216156)
#include <cstdio>
#include <cstring>
#define NMAX 1000005
#define fin "next.in"
#define fout "next.out"
int N[NMAX];
long long D;
char n[NMAX];
int main(void)
{
int i;
long long t;
freopen(fin, "r", stdin);
freopen(fout, "w", stdout);
fgets(n, sizeof(n), stdin);
if (n[strlen(n)-1] == '\n') n[strlen(n)-1] = 0;
scanf("%lld", &D);
for (i = strlen(n)-1; i >= 0; i--)
N[++N[0]] = n[i]-'0';
for (i = N[0], t = 0; i > 0; i--)
t = (t*10 + N[i]) % D;
for (i = 1, t = (D-t)%D; i <= N[0] || t; i++, t /= 10)
N[i] = (t += N[i]) % 10;
N[0] = i-1;
for (i = N[0]; i > 0; i--)
printf("%d", N[i]);
printf("\n");
return 0;
}