Pagini recente » Cod sursa (job #1146536) | Cod sursa (job #370142) | Cod sursa (job #1233822) | Cod sursa (job #1558665) | Cod sursa (job #239132)
Cod sursa(job #239132)
#include <algorithm>
using namespace std;
#define DIM 1000005
#define ll long long
int a[DIM],b[DIM];
char s[DIM];
ll r,d;
ll rest (int a[DIM],ll d)
{
int i;
ll t=0;
for (i=a[0]; i; --i)
t =(t*10+a[i])%d;
return t;
}
void aduna (int a[DIM],int b[DIM])
{
int i,t=0;
for (i=1; i<=a[0] || i<=b[0] || t; ++i, t/=10)
a[i]=(t+=a[i]+b[i])%10;
a[0]=i-1;
}
void print ()
{
int i;
for (i=a[0]; i; --i)
printf ("%d",a[i]);
}
int main ()
{
freopen ("next.in","r",stdin);
freopen ("next.out","w",stdout);
int i;
gets (s);
a[0]=strlen (s);
for (i=1; i<=a[0]; ++i)
a[i]=s[a[0]-i];
scanf ("%lld",&d);
r=rest (a,d);
r=(d-r)%d;
while (r)
{
b[++b[0]]=r%10;
r/=10;
}
aduna (a,b);
print ();
return 0;
}