Pagini recente » Cod sursa (job #1321667) | Cod sursa (job #919399) | Cod sursa (job #1832636) | Cod sursa (job #1545709) | Cod sursa (job #1687862)
# include<algorithm>
# include<cstdio>
# include<cstring>
using namespace std;
const int NMAX=1000100;
int a[NMAX], b[NMAX];
void printh(int x[])
{
for(int i=x[0];i>=1;--i)
printf("%d", x[i]);
printf("\n");
}
void adunh()
{
int tr,i,aux,l;
l=max(a[0],b[0]);
tr=0;
a[0]=l;
for(i=1;i<=l;i++)
{
aux=a[i]+b[i]+tr;
a[i]=aux%10;
tr=aux/10;
}
while(tr)
{
a[++a[0]]=tr%10;
tr=tr/10;
}
}
long long rest(long long k)
{
long long r=0;
for(int i=a[0];i>=1;i--)
{
r=(10*r+a[i])%k;
}
return r;
}
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
long long d;
char sir[NMAX];
gets(sir);
int n,i;
n=strlen(sir);
for(i=n-1;i>=0;i--)
a[n-i]=sir[i]-'0';
a[0]=n;
scanf("%lld", &d);
long long x,k;
if(rest(d)==0) printh(a);
else
{
x=d-rest(d);
k=0;
while(x!=0)
{
k++;
b[k]=x%10;
x/=10;
}
b[0]=k;
adunh();
printh(a);
}
return 0;
}