Pagini recente » Cod sursa (job #2490830) | Cod sursa (job #2093765) | Cod sursa (job #333104) | Cod sursa (job #506210) | Cod sursa (job #721977)
Cod sursa(job #721977)
#include <fstream>
//nclude "stdafx.h"
#include <algorithm>
#include <cstring>
#include <cmath>
using namespace std;
int n, sol[1000222];
char a[1000222];
long long d;
inline void Read()
{
ifstream f("next.in");
f>>a;
f>>d;
f.close();
n = strlen(a);
for (int i=1; i<=n; i++)
sol[n-i+1] = (int)(a[i-1] - '0');
sol[0] = n;
}
inline long long mod()
{
int i;
long long t = 0;
for (i = n; i; i--)
t = (t * 10 + sol[i]) % d;
return t;
}
inline void add(long long x)
{
int i, t = 0, nr;
for (i=1; i<=n || t; i++)
{
nr = sol[i] + x%10 + t;
x/=10;
if (nr>=10)
{
t = 1;
nr -= 10;
sol[i] = nr;
}
else
{
t = 0;
sol[i] = nr;
}
}
}
inline void Solve()
{
long long rest;
rest = mod();
if (rest)
{
rest = d-rest;
rest = rest%d;
add(rest);
}
}
inline void Write()
{
ofstream g("next.out");
for (int i = sol[0]; i; i--)
g<<sol[i];
g<<"\n";
g.close();
}
int main()
{
Read();
Solve();
Write();
return 0;
}