Pagini recente » Istoria paginii utilizator/uaic_onesim_popoiu_tucar | Cod sursa (job #2134628) | Cod sursa (job #1782327) | Cod sursa (job #1575667) | Cod sursa (job #43953)
Cod sursa(job #43953)
#include <stdio.h>
#include <string.h>
long long d,i,l,nr,r;
long n[1000002];
char ch[1000002];
int main(){
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
scanf("%s",ch);
scanf("%I64d",&d);
nr=0;
l=strlen(ch);
for (i=0;i<l;i++)n[l-i]=ch[i]-'0';
if (l<=16)for (i=0;i<l;i++)nr=nr*10+(ch[i]-'0');
if ((nr&&nr>d)||l>=16){
r=0;
for (i = 0; i < l; i++)
r= ((long long)r* 10 + ch[i]-'0') % d;
if (r){
r=d-r;
for (i=1;i<=l;i++){
if(r){n[i]=n[i]+r%10;r=r/10;}
if (n[i]>=10){n[i+1]=n[i+1]+n[i]/10;n[i]%=10;if(i==l)l++;}
}
}
for (i=l;i>=1;i--)printf("%ld",n[i]);
printf("\n");
}
else printf("%I64d\n",d);
return 0;
}