Pagini recente » Cod sursa (job #2294646) | Cod sursa (job #1068405) | Cod sursa (job #2779073) | Cod sursa (job #2848070) | Cod sursa (job #471027)
Cod sursa(job #471027)
#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';
}
int rest = 0;
for (vector<int>::iterator it = n.begin(); it != n.end(); ++it)
{
rest *= 10, rest += *it;
if (rest > d) rest -= (rest / d) * d;
}
int need = d - rest;
reverse(n.begin(), n.end());
n[0] += need;
n.resize(1000000);
int it = 0;
while (n[it] > 9)
{
n[++it] += n[it - 1] / 10;
n[it - 1] %= 10;
}
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;
}