Pagini recente » Cod sursa (job #290295) | Cod sursa (job #1693694) | Cod sursa (job #2733942) | Cod sursa (job #2181186) | Cod sursa (job #1829989)
#include <cstdio>
#include <cstring>
#define NMax 1000005
#define ll long long
ll D;
int v0;
char v[NMax+1];
char u[NMax+1];
char s[NMax+1];
void Add()
{
int i,t=0;
for(i = 1; i <= u[0] || i <= v0 || t; ++i,t/=10)
v[i] = ( t = v[i] + u[i] + t ) % 10;
v0 = i-1;
}
ll Rest()
{
int i;
ll t=0;
for(i = v0; i >= 1; --i)
t = ( t * 10 + v[i] ) % D;
return t;
}
void Read()
{
fgets(s,NMax,stdin);
scanf("%lld",&D);
v0 = strlen(s)-1;
for(int i = 1; i <= v0; ++i) v[i] = s[v0-i]-'0';
}
void Write()
{
for(int i = v0; i >= 1; --i) printf("%d",v[i]);
printf("\n");
}
int main(){
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
ll r;
Read();
r = Rest();
if(!r) { Write(); return 0; }
else
{
r = D - r;
while(r) { u[ ++u[0] ] = r%10; r/=10; }
Add();
Write();
}
return 0;
}