Cod sursa(job #776027)

Utilizator visanrVisan Radu visanr Data 9 august 2012 17:38:37
Problema Next Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;


int v[1100000], lg, t;
long long D, R, X;
char s[1000001];



int main()
{
    freopen("next.in", "r", stdin);
    freopen("next.out", "w", stdout);
    int i, poz = 1;
    fgets(s, 1000001, stdin);
    lg = strlen(s) - 1;
    v[0] = lg;
    for(i = lg - 1; i >= 0; i--) v[poz ++] = s[i] - '0';
    scanf("%lld", &D);
    R = 0;
    for(i = v[0]; i; i--)
          R = (R * 10 + 1LL * v[i]) % D;
    X = (D - R) % D;
    for(i = 1; i <= v[0]; i++)
    {
          v[i] = v[i] + (X % 10) + t;
          t = v[i] / 10;
          v[i] %= 10;
          X /= 10;
    }
    if(t) v[++v[0]] = t;
    for(i = v[0]; i; i--) printf("%i", v[i]);
    return 0;
}