Pagini recente » Cod sursa (job #808900) | Cod sursa (job #1559177) | Cod sursa (job #2126466) | Cod sursa (job #2351658) | Cod sursa (job #852520)
Cod sursa(job #852520)
#include <iostream>
#include <fstream>
#include <string>
#define DN 1005
using namespace std;
string x,dd;
unsigned long long d,rest,de_adunat;
int v[DN*DN];
int r[30];
void mod()
{
for(int i=v[0];i;--i)
rest=(rest*10+v[i])%d;
}
void adun()
{
long long t=0;
int i;
for(i=1;i<=v[0] || i<=r[0] || t;++i)
{
int b=((i<=r[0])?r[i]:0);
v[i]+=b+t;
t=v[i]/10;
v[i]%=10;
}
v[0]=max(v[0],i-1);
}
int main()
{
int p=0;
ifstream f("next.in");
ofstream g("next.out");
f>>x;
f.get();
f>>d;
for(int i=x.size()-1;i>=0;--i)
v[++p]=x[i]-'0';
v[0]=x.size();
mod();
de_adunat=d-rest;
while(de_adunat)
{
r[++r[0]]=de_adunat%10;
de_adunat/=10;
}
adun();
for(int i=v[0];i;--i)
g<<v[i];
return 0;
}