Cod sursa(job #611153)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 30 august 2011 23:59:30
Problema Next Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream.h>
#define N 1100000
char s[N];
int v[N],x[N],u[N],e[N];
long n,i,k,j,t,l,r,o;
long long d,m;

long long mod(int v[N],long n,long long d)
{long i;
long long t=0;
for(i=1;i<=n;i++)
       t=(t*10+v[i])%d;
return t;}

int main()
{ifstream f("next.in");
ofstream g("next.out");
f>>s;
f>>d;
n=strlen(s);
for(i=0;i<n;i++)
        v[i+1]=s[i]-'0';
m=d-mod(v,n,d);
while(m)
        x[++k]=m%10,m/=10;
for(i=1;i<=k;i++)
        u[i]=x[k-i+1];
for(i=n,j=k,t=l=0;i&&j;i--,j--,t/=10)
        e[++l]=(t+=v[i]+u[j])%10;
for(r=i;r;r--,t/=10)
        e[++l]=(t+=v[r])%10;
for(o=j;o;o--,t/=10)
        e[++l]=(t+=u[o])%10;
if(t)
        e[++l]=t;
for(i=l;i;i--)
        g<<e[i];
return 0;}