Cod sursa(job #169407)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 1 aprilie 2008 17:54:30
Problema Next Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
// 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;
}