Pagini recente » Cod sursa (job #2563938) | Cod sursa (job #436980) | Cod sursa (job #1582081) | Cod sursa (job #1679800) | Cod sursa (job #994062)
Cod sursa(job #994062)
#include<fstream>
#include<cstring>
#include<algorithm>
#include<cassert>
#define NMAX 1000005
using namespace std;
short v[NMAX];
char x[NMAX];
long long d,m;
void read()
{
ifstream fin("next.in");
fin>>x>>d;
v[0]=strlen(x);
for(int i=1;i<=v[0];i++)
v[i]=(short)(x[i-1]-'0');
}
void mod()
{
for(int i=1;i<=v[0];i++)
{
m=m*10+v[i];
m%=d;
}
if(m)
m=d-m;
}
void add()
{
reverse(v+1,v+v[0]+1);
for(int i=1;m;i++,m/=10)
{
if(i>v[0])
v[0]++;
v[i]+=m%10;
}
for(int i=1;i<=v[0] || v[i];i++)
{
if(i>v[0])
v[0]++;
if(v[i]>9)
{
v[i]%=10;
v[i+1]++;
}
}
}
void print()
{
ofstream fout("next.out");
for(int i=v[0];i;i--)
{
assert(i>0 && i<NMAX-2);
fout<<v[i];
}
}
int main()
{
read();
mod();
add();
print();
return 0;
}