Pagini recente » Cod sursa (job #1490476) | Cod sursa (job #1222466) | Cod sursa (job #105037) | Cod sursa (job #2113443) | Cod sursa (job #43584)
Cod sursa(job #43584)
#include <stdio.h>
#include <string.h>
#define input "next.in"
#define output "next.out"
char n[1000030];
long i;
long nr[1000030];
long long d,t;
void citire()
{
FILE *fin;
fin=fopen(input,"r");
fscanf(fin,"%s",n);
fscanf(fin,"%lld",&d);
fclose(fin);
}
void solve()
{
long pz=strlen(n);
for (i=strlen(n)-1;i>=0;i--)
nr[pz-i]=(int)(n[i]-'0');
nr[0]=strlen(n);
d=d;
t=0;
for (i=nr[0];i;i--)
t=(t*10+nr[i])%d;
if (t==0) d=0;
else d-=t;
long long cif=nr[1]+d;
for (i=2;i<=nr[0]+1;i++)
{
nr[i-1]=cif%10;
cif=cif/10+nr[i];
}
while (cif>0)
{
nr[0]++;
nr[nr[0]]=cif%10;
cif/=10;
}
}
void afisare()
{
FILE *fout;
fout=fopen(output,"w");
for (i=nr[0];i;i--)
fprintf(fout,"%lld",nr[i]);
fclose(fout);
}
int main()
{
citire();
solve();
afisare();
return 0;
}