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