Pagini recente » Cod sursa (job #2469074) | Istoria paginii runda/pregatire_oji_11-12_3/clasament | Cod sursa (job #3122832) | Diferente pentru runda/vot/voteaza_nargy_si_fumeanu intre reviziile 4 si 6 | Cod sursa (job #760082)
Cod sursa(job #760082)
#include<stdio.h>
#include<string.h>
int n,A[1000005];
long long D;
char s[1000005];
void Citire()
{
int i;
freopen("next.in","r",stdin);
freopen("next.out","w",stdout);
gets(s);
scanf("%lld",&D);
n=strlen(s);
for(i=1;i<=n;i++)
A[i]=s[i-1]-'0';
}
long long Rest()
{
int i;
long long r=0;
for(i=1;i<=n;i++)
r=(r*10+A[i])%D;
return r;
}
void Aduna(long long x)
{
int i;
for(i=n;i>0 || x;i--,x=x/10)
A[i]=(x+=A[i])%10;
}
void Rezolvare()
{
long long rest;
rest=Rest();
if(rest)
{
rest=D-rest;
rest=rest%D;
Aduna(rest);
}
}
void Afisare()
{
int i;
if(A[0]) i=0;
else i=1;
for(;i<=n;i++)
printf("%d",A[i]);
}
int main()
{
Citire();
Rezolvare();
Afisare();
return 0;
}