Pagini recente » Cod sursa (job #1208156) | Cod sursa (job #830172) | Cod sursa (job #1441054) | Cod sursa (job #2918689) | Cod sursa (job #994075)
Cod sursa(job #994075)
#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]=(x[i-1]-'0');
}
void mod()
{
for(int i=1;i<=L;i++)
m=(m*10+v[i])%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--)
x[L-i]=v[i]+'0';
fout<<x;
}
int main()
{
read();
mod();
add();
print();
return 0;
}