Cod sursa(job #2062250)

Utilizator Claudiu07Pana Claudiu Claudiu07 Data 10 noiembrie 2017 09:44:36
Problema Next Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
#define VAL 1000005

using namespace std;

ifstream f("next.in");
ofstream g("next.out");

int N[VAL], i, j;
int cif[VAL];
long long D, R;
string s;

void mod()
{
    int i;
    for (i=N[0]; i>0; i--)
      R=(R*10+N[i]) % D;
}

void Add()
{
    int t=0, C;
    for (i=1; i<=max(cif[0], N[0]); i++)
    {
        C=N[i]+cif[i]+t;
        N[i]=C % 10;
        if (C>9)
          t=1;
        else
          t=0;
    }
    N[0]=max(N[0], cif[0]);
    if (t==1)
      N[++N[0]]=1;
}

int main()
{
    f >> s >> D;
    N[0]=s.size();
    for (j=0; j<s.size(); j++)
      N[s.size()-j]=s[j]-'0';
    mod();
    if (R>0)
      R=D-R;
    while (R!=0)
    {
        cif[++cif[0]]=R % 10;
        R/=10;
    }
    Add();
    for (i=N[0]; i>0; i--)
      g << N[i];

    return 0;
}