Pagini recente » Cod sursa (job #1771424) | Cod sursa (job #1777359) | Cod sursa (job #2316806) | Cod sursa (job #1472527) | Cod sursa (job #122029)
Cod sursa(job #122029)
#include <stdio.h>
#include <string.h>
char citire[1000010];
int n[1000010];
long long int d;
void adun(int A[],int b)
{ int i,t = 0,x;
for(i=1;i<=A[0];i++)
{
x=A[i];
A[i]=(A[i]+t+b)%10;
t=(x+t+b)/10;
b=0;
} if (t>0)
A[++A[0]]=t;
}
int mod(int A[], int B)
{
int i, t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
int main() {
int i,k=1;
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
scanf("%s",citire);
scanf("%lld",&d);
n[0] = strlen(citire) - 1;
for (i=n[0]-1; i >= 0; i--)
n[k++] = (int)citire[i];
adun(n,(d-mod(n,d))%d);
for (i = n[0]; i >= 1; i--)
printf("%d",n[i]);
return 0;
}