Pagini recente » Cod sursa (job #2718689) | Cod sursa (job #1383841) | Cod sursa (job #1027157) | Cod sursa (job #612366) | Cod sursa (job #1295392)
#include <fstream>
#include <string>
using namespace std;
ifstream fin ("next.in");
ofstream fout ("next.out");
long long D;
int N[1000010];
string S;
long long Restul(int A[], long long D)
{
int i, t = 0;
for (i = A[0]; i>=1; i--)
{
t = (t * 10 + A[i]) % D;
}
return t;
}
void Add(int A[], long long nr)
{
int i = 0, t = 0;
while (nr || t)
{
A[++i] = (t += A[i] + (nr % 10)) % 10;
t /= 10;
nr /= 10;
}
}
void Afisare(int A[])
{
for (int i=A[0]; i>=1; i--) fout << A[i];
fout << '\n';
}
int main()
{
fin >> S >> D;
N[0] = S.size();
for (int i=1; i<=N[0]; i++) N[i] = S[N[0]-i] - '0';
Add(N, (D - Restul(N, D)) % D);
Afisare(N);
fout.close();
return 0;
}