Pagini recente » Cod sursa (job #2137730) | Cod sursa (job #3033147) | Cod sursa (job #2921068) | Cod sursa (job #3203399) | Cod sursa (job #1058888)
#include <algorithm>
#include <cstdio>
using namespace std;
const int N=1000005;
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]);
}