Mai intai trebuie sa te autentifici.
Cod sursa(job #123050)
Utilizator | Data | 14 ianuarie 2008 15:08:27 | |
---|---|---|---|
Problema | Next | Scor | 0 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <stdio.h>
int main()
{
char a[1000000],b[1000000];
long long int d,t=0;
long int i=0;
FILE *r;
r=fopen("next.in","r");
a[0]=0;
do
{
i++;
}
while ((a[i]=getc(r))!='\n');
a[0]=i-2;
fscanf(r,"%lld",&d);
for (i=1;i<=a[0];i++)
{
t=(t*10+(a[i]-'0'))%d;
}
fclose(r);
r=fopen("next.out","w");
b[0]=0;
i=0;
while (d!=t)
{
i++;
b[i]=(d-t)%10;
d=(d-t)/10+t;
}
t=0;
b[0]=i;
for (i=1;(i<=a[0] || i<=b[0]);i++)
{
a[a[0]-i+1] = ((t+= (a[a[0]-i+1]-'0')+b[i]) % 10) +'0';
t=t/10;
}
for (i=1;i<=a[0];i++)
fprintf(r,"%c",a[i]);
fclose(r);
return 0;
}