Pagini recente » Monitorul de evaluare | Cod sursa (job #558770) | Cod sursa (job #321453) | Cod sursa (job #2396136) | Cod sursa (job #176684)
Cod sursa(job #176684)
// http://infoarena.ro/problema/next
#include <stdio.h>
FILE *f=fopen("next.in","r"), *g=fopen("next.out","w");
int a[1000050];
long long n;
long 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);
fclose(f); fclose(g);
return 0;
}