Pagini recente » Cod sursa (job #1105398) | Cod sursa (job #2726275) | Cod sursa (job #158699) | Cod sursa (job #1645051) | Cod sursa (job #1309158)
#include <bits/stdc++.h>
using namespace std;
long long B;
int A[1000013],F[10000013],i;
string s;
void add(int A[],int B[])
{
int i,rest=0;
for (i=1;i<=A[0] || i<=B[0] || rest;++i)
{
rest+=A[i]+B[i];
A[i]=rest%10;
rest/=10;
}
A[0]=i-1;
}
long long mod(int A[], long long B)
{
int i;
long long rest(0);
for (i=A[0];i>0;--i)
rest=(rest*10+A[i])%B;
return rest;
}
void assign(string s, int A[])
{
A[0]=s.size();
for (int i=0;i<A[0];++i)
A[A[0]-i]=s[i]-'0';
}
int main(void)
{
ifstream in("next.in");
ofstream out("next.out");
getline(in,s); assign(s,A);
in>>B;
long long modulo=(B-mod(A,B))%B;
out<<modulo<<" ";
while(modulo)
{
F[++F[0]]=modulo%10;
modulo/=10;
}
add(A,F);
for (i=A[0];i>=1;--i) out<<A[i];
return 0;
}