Cod sursa(job #1666295)

Utilizator ionut98Bejenariu Ionut Daniel ionut98 Data 27 martie 2016 21:12:00
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream>
using namespace std;
ifstream f("next.in");
ofstream g("next.out");
int a[1000005],n,i;
long long d;
long long rez;
char s[1000005];
long long imp(long long x)
{
    int i;
    long long r=0;
    for(i=n;i>=1;i--)
    {
        r=r*10LL+1LL*a[i];
        r%=x;
    }
    return r;
}
void add(long long x)
{
    int i;
    long long t;
    for(i=1;i<=n&&x>0;i++)
    {
        t=a[i]+x;
        a[i]=t%10;
        x=t/10;
    }
    while(x)
    {
        a[++n]=x%10;
        x/=10;
    }
}
int main()
{
    f>>s;
    f>>d;
    n=strlen(s);
    int poz=0;
    for(i=n-1;i>=0;i--)
      a[++poz]=s[i]-'0';
    rez=imp(d);
    if(rez>0)
      add(d-rez);
    for(i=n;i>=1;i--)
      g<<a[i];
    return 0;
}