Pagini recente » Cod sursa (job #276072) | Cod sursa (job #685738) | Cod sursa (job #164963) | Rating Narcisa Vasile (Kali) | Cod sursa (job #2679743)
#include <fstream>
#include <string>
using namespace std;
const int NMAX = 1000000;
string numar;
long long int cifre[1 + 10 + NMAX];
int main()
{
ifstream in("next.in");
ofstream out("next.out");
long long int d;
in >> numar >> d;
for (int i = numar.size() - 1; i >= 0; i--)
{
cifre[i] = numar[numar.size() - 1 - i] - '0';
}
long long int parte = 0;
for (int i = numar.size() - 1; i >= 0;)
{
while (i >= 0 && parte < d)
{
parte = parte * 10 + cifre[i];
i--;
}
parte = parte - (parte / d) * d;
}
if (parte != 0)
{
d = d - parte;
}
else
{
d = 0;
}
cifre[0] += d;
long long int minte = 0;
for (int i = 0; i < numar.size(); i++)
{
cifre[i] += minte;
minte = 0;
minte += cifre[i] / 10;
cifre[i] = cifre[i] % 10;
}
int nrCif = numar.size() - 1;
while (minte > 0)
{
nrCif++;
cifre[nrCif] = minte % 10;
minte = minte / 10;
}
for (int i = nrCif; i >= 0; i--)
{
out << cifre[i];
}
return 0;
}