Pagini recente » Cod sursa (job #2866602) | Cod sursa (job #676799) | Cod sursa (job #2667463) | Cod sursa (job #2600496) | Cod sursa (job #471030)
Cod sursa(job #471030)
#include <fstream>
#include <string>
#include <vector>
using namespace std;
ifstream fin("next.in");
ofstream fout("next.out");
void Read();
void Solve();
void Write();
string ax;
vector<int> n;
long long d, size;
int main()
{
Read();
Solve();
Write();
}
void Read()
{
fin >> ax >> d;
}
void Solve()
{
n.resize(ax.size()), size = ax.size();
for (int i = 0; i < size; ++i)
{
n[i] = ax[i] - '0';
}
long long rest = 0;
for (vector<int>::iterator it = n.begin(); it != n.end(); ++it)
{
rest *= 10, rest += *it;
if (rest > d) rest -= (rest / d) * d;
}
long long need = d - rest;
reverse(n.begin(), n.end());
n.resize(1000000);
int it = 0;
long long now = n[0] + need, next;
while (now > 9)
{
next = n[++it] + now / 10;
n[it - 1] = now % 10;
now = next;
}
n[it] = now;
size = it;
n.resize(it + 1);
}
void Write()
{
reverse(n.begin(), n.end());
for (vector<int>::iterator i = n.begin(); i != n.end(); ++i)
fout << *i;
}