Cod sursa(job #1039187)

Utilizator Athena99Anghel Anca Athena99 Data 22 noiembrie 2013 17:35:53
Problema Next Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstring>
#include <fstream>

using namespace std;

ifstream fin("next.in");
ofstream fout("next.out");

typedef long long i64;

const int base= 10;
const int nmax= 1000000;

i64 v[nmax+1];

int main(  ) {
    string s;
    fin>>s;
    int x= (int)s.size()-1;
    for ( int i= x; i>=0; --i ) {
        v[x-i]= s[i]-'0';
    }

    i64 d;
    fin>>d;

    i64 t= 0;
    for ( int i= x; i>=0; --i ) {
        t= (t*base+v[i])%d;
    }
    t= (d-t)%d;
    for ( int i= 0; i<=x || t>0; ++i ) {
        if ( i>x ) {
            ++x;
        }
        v[i]+= t;
        t= v[i]/base;
        v[i]%= base;
    }
    for ( int i= x; i>=0; --i ) {
        fout<<v[i];
    }
    fout<<"\n";

    return 0;
}