Pagini recente » Cod sursa (job #1396821) | Cod sursa (job #1197312) | Cod sursa (job #2092231) | Cod sursa (job #373149) | Cod sursa (job #169385)
Cod sursa(job #169385)
// http://infoarena.ro/problema/next
#include <stdio.h>
FILE *f=fopen("next.in","r"), *g=fopen("next.out","w");
int a[1000000];
unsigned 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 r1,r2,rezultat;
fscanf(f,"%ld\n%ld",&n,&d);
r1=rest(n,a);
r2=rest(d-r1,a);
rezultat=n+r2;
fprintf(g,"%ld",rezultat);
}