Pagini recente » Cod sursa (job #1565775) | Cod sursa (job #263542) | Cod sursa (job #2115672) | Cod sursa (job #2571842) | Cod sursa (job #169390)
Cod sursa(job #169390)
// http://infoarena.ro/problema/next
#include <stdio.h>
FILE *f=fopen("next.in","r"), *g=fopen("next.out","w");
int a[1000000];
unsigned long long n,d;
long mod(int a[],int b)
{
int i;
unsigned long t=0;
for(i=a[0];i>0;i--)
{
t=(t * 10+a[i]) % b;
}
return t;
}
int rest(unsigned long n,int a[])
{
int i=1;
a[0]=0;
do
{
a[i]=n%10;
n=n/10;
a[0]++;
i++;
}
while(n!=0);
return mod(a,d);
}
void main()
{
unsigned 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",rezultat);
}