Pagini recente » Cod sursa (job #2274460) | Cod sursa (job #534986) | Cod sursa (job #2555333) | Cod sursa (job #2233276) | Cod sursa (job #1484411)
#include<stdio.h>
#include<string.h>
char s[1000005];
int x[20],y[20],n,i,k,j,t,l,r,f[1000005];
long long d,m;
int main() {
freopen("next.in","r",stdin),freopen("next.out","w",stdout),fgets(s,1000005,stdin),scanf("%lld",&d),n=strlen(s)-1;
for(m=i=0;i<n;i++)
m=(m*10+(s[i]-'0'))%d;
for(f[0]=0,i=n-1;i>=0;i--)
f[++f[0]]=s[i]-'0';
for(y[0]=0;d;y[++y[0]]=d%10,d/=10);
for(x[0]=0;m;x[++x[0]]=m%10,m/=10);
for(i=1;i<=x[0]/2;i++)
x[i]=x[x[0]-i+1];
for(t=0,i=1;i<=f[0]||i<=y[0]||t;i++,t/=10)
f[i]=(t+=f[i]+y[i])%10;
for(f[0]=i-1,t=0,i=1;i<=f[0];i++)
f[i]-=((i<=x[0])?x[i]:0)+t,f[i]+=(t=f[i]<0)*10;
for(;f[0]>1&&!f[f[0]];f[0]--);
for(i=f[0];i;i--)
printf("%d",f[i]);
}