Pagini recente » Cod sursa (job #1768600) | Cod sursa (job #261239) | Cod sursa (job #1499739) | Cod sursa (job #2859582) | Cod sursa (job #54872)
Cod sursa(job #54872)
#include <fstream>
#include <cstring>
#include <vector>
using namespace std;
typedef vector <int> VI;
VI N, R, S;
long long int D;
char X[2000001];
int main()
{
ifstream fin("next.in");
ofstream fout("next.out");
long long int rest = 0;
int i;
fin >> X;
fin >> D;
N.resize(2000001);
R.resize(2000001);
S.resize(2000001);
N[0] = strlen(X);
for (i = 0; i < N[0]; i++)
N[N[0]-i] = X[i] - '0';
for (i = N[0]; i > 0; i--)
rest = (rest * 10 + N[i]) % D;
rest = D - rest;
while (rest)
{
R[++R[0]] = rest%10;
rest /= 10;
}
rest = 0;
for (i = 1; i <= N[0] || i <= R[0] || rest; i++, rest /= 10)
S[i] = (rest += N[i] + R[i]) % 10;
S[0] = i - 1;
for (i = S[0]; i > 0; i--)
{
int x = S[i];
fout << x;
}
fout << "\n";
fin.close();
fout.close();
return 0;
}