Pagini recente » Cod sursa (job #2140270) | Cod sursa (job #994115) | Cod sursa (job #2787662) | Cod sursa (job #2356704) | Cod sursa (job #65952)
Cod sursa(job #65952)
#include <fstream>
#include <string>
#define dim 1000001
using namespace std;
string N;
int A[dim], B[17];
int size;
long long unsigned D;
void Read();
void Solve();
void Print();
ifstream f("next.in");
ofstream g("next.out");
int main()
{
Read();
Solve();
Print();
return 0;
}
void Read()
{
f >> N;
f >> D;
size = N.length();
f.close();
}
void Solve()
{
int i, v;
for(i=0; i<size; ++i)
A[size-i] = (int) N[i] - '0';
A[0] = size;
long long unsigned r = 0;
for(i=size; i; --i)
{
r = r * 10 + A[i];
r %= D;
}
D -= r;
while(D)
{
B[++B[0]] = D % 10;
D /= 10;
}
A[0] = B[0] > A[0] ? B[0] : A[0];
r = 0;
for(i=1; i<=A[0]; ++i)
{
if(i <= B[0])
A[i] += B[i] + r;
else
A[i] += r;
r = A[i] / 10;
A[i] %= 10;
}
if(r)
A[++A[0]] = r;
}
void Print()
{
int i;
for(i=A[0]; i; --i)
g << A[i];
g.close();
}