Pagini recente » Cod sursa (job #475035) | Cod sursa (job #889558) | Cod sursa (job #166238) | Cod sursa (job #47844) | Cod sursa (job #42224)
Cod sursa(job #42224)
#include<stdio.h>
#include<string.h>
char s[925010];
long long d,k,r;
int n[925010],o[925010],i;
long long mod(int A[], long long B)
{
int i;
long long t = 0;
for (i = A[0]; i > 0; i--)
t = (t * 10 + A[i]) % B;
return t;
}
void add(int A[], int B[])
{
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 x[])
{
for (int i=x[0];i>=1;i--)
printf("%d",x[i]);
printf("\n");
}
int main()
{
freopen ("next.in","rt",stdin);
freopen ("next.out","wt",stdout);
scanf("%s",&s);
scanf("%lld",&d);
k=strlen(s);
n[0]=k;
for (i=k-1;i>=0;i--)
if (s[i]>='0' && s[i]<='9')
n[k-i]=s[i]-'0';
r=mod(n,d);
k=d-r;
while (k)
o[++o[0]]=k%10,k/=10;
add(n,o);
print(n);
return 0;
}