Cod sursa(job #611154)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 31 august 2011 00:07:44
Problema Next Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream.h>
#define N 1000020
char s[N];
int x[20],u[20],e[N],v[N];
long n,i,k,j,t,l,r;
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))%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(r=j;r;r--,t/=10)
        e[++l]=(t+=u[r])%10;
if(t)
        e[++l]=t;
for(i=l;i;i--)
        g<<e[i];
return 0;}