Cod sursa(job #1216156)

Utilizator mihaimusatMihai Musat mihaimusat Data 3 august 2014 15:12:35
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#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;
}