Pagini recente » Cod sursa (job #1527016) | Cod sursa (job #480761) | Cod sursa (job #429166) | Cod sursa (job #951021) | Cod sursa (job #2187806)
#include <cstdio>
#include <cstring>
using namespace std;
char v[1000005];
int a[1000005];
int u[20];
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
gets(v);
a[0]=strlen(v);
int n=a[0];
for(int i=a[0];i>=1;i--)
{
a[i]=v[n-i]-'0';
}
long long d;
scanf("%I64d",&d);
long long rest=0;
int i;
for(i=a[0];i>=1;i--)
{
rest=rest*10+a[i];
rest%=d;
}
if(rest==0)
{
for(i=a[0];i>=1;i--)printf("%d",a[i]);
printf("\n");
return 0;
}
long long dif=d-rest;
do
{
u[++u[0]]=dif%10;
dif/=10;
}while(dif);
for(i=1;i<=u[0]/2;i++)
{
int aux=u[i];
u[i]=u[u[0]-i+1];
u[u[0]-i+1]=aux;
}
int aux=0;
int m1=a[0];
if(m1<u[0])a[0]=u[0],m1=a[0];
for(i=1;i<=m1;i++)
{
a[i]+=u[i]+aux;
aux=0;
if(a[i]>=10)aux=1,a[i]-=10;
}
if(aux)a[++a[0]]=1;
for(i=a[0];i>=1;i--)printf("%d",a[i]);
printf("\n");
return 0;
}