Pagini recente » Cod sursa (job #1150461) | Cod sursa (job #2823054) | Cod sursa (job #1978581) | Cod sursa (job #1398838) | Cod sursa (job #2187105)
#include <cstdio>
#include <algorithm>
using namespace std;
int n[1000001];
void add(long long r)
{
int i,t,j;
i=1;
while(r)
{
n[i]+=r%10;
t=n[i]/10;
r/=10;
j=i;
n[i]%=10;
while(t)
{
n[++j]+=t;
t=n[j]/10;
n[j]%=10;
}
i++;
}
while(n[n[0]+1]>0)
n[0]++;
}
long long rest(long long d)
{
int i,cnt=0;
long long r;
r=0;
for(i=n[0];i>=1;i--)
{
r=r*10+n[i];
r%=d;
}
return r;
}
int main()
{
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
long long d;
int i=0,st=1,dr;
char ch;
while(scanf("%c", &ch))
{
if(ch=='\n')break;
n[++n[0]]=ch-'0';
}
scanf("%lld", &d);
if(d!=1)
{
dr=n[0];
while(st<dr)
{
swap(n[st],n[dr]);
st++;
dr--;
}
if(rest(d))
add(d-rest(d));
}
for(i=n[0];i>=1;i--)
printf("%d",n[i]);
return 0;
}