Pagini recente » Cod sursa (job #1370601) | Cod sursa (job #408203) | Cod sursa (job #1919733) | Cod sursa (job #2041315) | Cod sursa (job #169407)
Cod sursa(job #169407)
// http://infoarena.ro/problema/next
#include <stdio.h>
FILE *f=fopen("next.in","r"), *g=fopen("next.out","w");
int a[1000000];
long long n;
long d;
long mod(int a[],long b)
{
long i;
long long t=0;
for(i=a[0];i>0;i--)
{
t=(t * 10+a[i]) % b;
}
return t;
}
int rest(long long n,int a[])
{
long i=1;
a[0]=0;
do
{
a[i]=n%10;
n=n/10;
a[0]++;
i++;
}
while(n!=0);
return mod(a,d);
}
int main()
{
long long r1,r2,rezultat;
fscanf(f,"%lld\n%lld",&n,&d);
r1=rest(n,a);
r2=rest(d-r1,a);
rezultat=n+r2;
fprintf(g,"%lld\n",rezultat);
fcloseall();
return 0;
}