Pagini recente » Cod sursa (job #318981) | Cod sursa (job #615255) | Cod sursa (job #1075336) | Cod sursa (job #2723710) | Cod sursa (job #272659)
Cod sursa(job #272659)
#include <stdio.h>
const int N = 1000001;
long long d,r,s;
char n[N];
int lim;
long long dif;
void citire()
{
int i;
scanf ("%s",n);
for (i = 0; n [i] != 0; ++i)
n[i] -= '0';
lim = i-1;
scanf ("%lld",&d);
}
void impartire_n_la_d()
{
for (int poz = 0; poz <= lim; ++poz)
{
r = r * 10 + n[poz];
r = r % d;
}
if (r == 0)
r = d;
}
void adunare_n_plus_s()
{
for (int poz = lim; poz >= 0; --poz)
{
n[poz] = n [poz] + s % 10 + dif;
dif = n [poz] / 10;
n [poz] = n [poz] % 10;
s /= 10;
}
}
void afisare()
{
if (dif > 0)
printf ("%lld",dif);
for (int i = 0; i <= lim; ++i)
printf ("%d",n[i]);
}
int main()
{
freopen ("next.in","r",stdin);
freopen ("next.out","w",stdout);
citire();
impartire_n_la_d();
s = d - r;
adunare_n_plus_s();
afisare();
return 0;
}