Pagini recente » Cod sursa (job #772672) | Cod sursa (job #1451631) | Cod sursa (job #687620) | Cod sursa (job #344866) | Cod sursa (job #994033)
Cod sursa(job #994033)
#include<fstream>
#include<cstring>
#include<algorithm>
#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];
if(m<d)
continue;
m%=d;
}
if(m)
m=d-m;
}
void add()
{
reverse(v+1,v+v[0]+1);
for(int i=1;m;i++,m/=10)
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--)
fout<<v[i];
}
int main()
{
read();
mod();
add();
print();
return 0;
}