Pagini recente » Cod sursa (job #182431) | Arhiva de probleme | Cod sursa (job #2280940) | Cod sursa (job #2912140) | Cod sursa (job #123054)
Cod sursa(job #123054)
#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-1;
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;
if (t!=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;
if ((i==a[0])&&(t!=0))
fprintf(r,"%lld",t);
}
}
for (i=1;i<=a[0];i++)
fprintf(r,"%c",a[i]);
fclose(r);
return 0;
}