Cod sursa(job #2105858)

Utilizator TudorMeisterDumitrescu Tudor Constantin TudorMeister Data 14 ianuarie 2018 14:28:46
Problema Next Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <fstream>
#include <cstring>
using namespace std;
int n[1000010];
long long int d,r,nr,t;
char c[1000010];
int main()
{
    ifstream fin("next.in");
    ofstream fout("next.out");

    fin>>c;

    for (int i=0; i<strlen(c); i++)
    {
        nr++;
        n[nr]=(int)c[i]-48;
    }

    fin>>d;

    for (int i=1; i<=nr; i++) r=(r*10+n[i])%d;


    if (r==0) for (int i=1; i<=nr; i++) fout<<n[i];
        else
        {
            int ad=d-r;
            for (int i=nr; i>=1; i--)
            {
                n[i]=n[i]+ad%10+t;
                t=n[i]/10;
                n[i]=n[i]%10;
                if (ad==0) break;
                ad=ad/10;
            }
            if (t>0) fout<<t;
            for (int i=1; i<=nr; i++) fout<<n[i];
        }
    return 0;
}