Pagini recente » Cod sursa (job #105431) | Cod sursa (job #2260698) | Cod sursa (job #2051769) | Cod sursa (job #2584733) | Cod sursa (job #1018229)
#include <fstream>
#include <string>
#include <vector>
using namespace std;
void MARIFICATION(string &mic, vector<short> &mare);
void divideSmall(vector<short> &mare, int mic);
void multiplySmall(vector<short> &mare, int mic);
void rezulta(vector<short> r);
int main()
{
ifstream fin("next.in");
string n;
fin>>n;
vector<short> nr;
MARIFICATION(n, nr);
int d;
fin>>d;
divideSmall(nr, d);
multiplySmall(nr, ++d);
rezulta(nr);
fin.close();
return 0;
}
void divideSmall(vector<short> &mare, int mic)
{
int i, t = 0;
for(i = mare[0]; i > 0; i--, t%=mic)
mare[i] = (t = t * 10 + mare[i]) / mic;
for(; mare[0] > 1 && !mare[mare[0]]; mare[0]--);
}
void multiplySmall(vector<short> &mare, int mic)
{
int i, t = 0;
for(i = 1; i <= mare[0] || t; i++, t /= 10)
mare[i] = (t += mare[i] * mic) % 10;
mare[0] = i - 1;
}
void MARIFICATION(string &mic, vector<short> &mare)
{
mare.push_back(mic.length());
for(int i = mic.length()-1; i>=0; i--)
mare.push_back(mic[i]);
}
void rezulta(vector<short> r)
{
ofstream fout("next.out");
for(int i = r[0]; i >= 1; i--)
fout<<r[i];
fout.close();
}