Pagini recente » Cod sursa (job #879737) | Cod sursa (job #302186) | Cod sursa (job #1364916) | Cod sursa (job #3203765) | Cod sursa (job #536007)
Cod sursa(job #536007)
#include<fstream>
#define dmax 1000010
using namespace std;
int a[dmax];
long long d,rest;
void citire()
{
int i;
char s[dmax];
ifstream fin("next.in");
fin.get(s,dmax); fin.get();
a[0] = strlen(s);
for (i=0; i<a[0]; i++)
a[a[0] - i] = s[i] - '0';
fin>>d;
fin.close();
}
void impartire()
{
int i;
for (i=a[0]; i>=1; i--)
rest = ((rest * 10) + a[i]) % d;
}
void adunare()
{
int i=1,t=0;
long long nr;
nr = (d - rest) % d;
while (nr != 0 || i <= a[0])
{
a[i] += t + (nr % 10);
t = a[i] / 10;
a[i] = a[i] % 10;
nr = nr / 10;
i++;
}
a[0] = i-1;
if (t > 0)
{
a[0]++;
a[a[0]] = t;
}
}
void afisare()
{
int i;
ofstream fout("next.out");
for (i=a[0]; i>=1; i--)
fout<<a[i];
fout.close();
}
int main()
{
citire();
impartire();
adunare();
afisare();
return 0;
}