Pagini recente » Cod sursa (job #1551211) | Cod sursa (job #1749569) | Cod sursa (job #1658071) | Cod sursa (job #959992) | Cod sursa (job #527435)
Cod sursa(job #527435)
#include <cstring>
#include <fstream>
using namespace std;
char S[1000020];
int N[1000020];
long long D;
int main()
{
ifstream fin("next.in");
ofstream fout("next.out");
fin.getline(S, 1000020);
fin >> D;
N[0] = strlen(S);
for (int i = 1; i <= N[0]; ++i)
N[i] = S[N[0] - i] - '0';
long long rest = 0;
for (int i = N[0]; i >= 1; --i)
{
rest *= 10LL;
rest += (long long)N[i];
if (rest > D)
rest %= D;
}
rest = (D - rest) % D;
int now = 1;
long long Nnow = N[1] + rest;
while (Nnow >= 10)
{
N[now] = Nnow % 10;
Nnow = N[now + 1] + Nnow / 10;
++now;
}
N[now] = Nnow;
N[0] = max(N[0], now);
for (int i = N[0]; i >= 1; --i)
fout << N[i];
fin.close();
fout.close();
}