Pagini recente » Cod sursa (job #3127207) | Cod sursa (job #1814228) | Cod sursa (job #354361) | Cod sursa (job #1024291) | Cod sursa (job #1529017)
#include <algorithm>
#include <cstdio>
#define N 1000005
using namespace std;
int a[N], b[N];
char cit[N];
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;
}
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;
}
int main()
{
freopen("next.in", "r", stdin);
freopen("next.out", "w", stdout);
long long d, r;
int i;
fgets(cit, N, stdin);
for(i=0;cit[i]!='\n';i++) a[++a[0]]=cit[i]-'0';
reverse(a+1, a+a[0]+1);
scanf("%lld", &d);
r=mod(a, d);
if(r) r=d-r;
while(r)
{
b[++b[0]]=r%10;
r/=10;
}
add(a,b);
for(i=a[0];i;i--) printf("%d", a[i]);
}