Pagini recente » Cod sursa (job #56574) | Cod sursa (job #2618560) | Cod sursa (job #68489) | Cod sursa (job #239252) | Cod sursa (job #46131)
Cod sursa(job #46131)
#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("%lld",&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=(long long)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=(long long)d-r;
for (i=1;i<=l;i++){
if(r){n[i]=(long long)n[i]+r%10;r=(long long)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("%lld\n",d);
return 0;
}