Cod sursa(job #169385)

Utilizator kolapsysPostelnicu Dan Marian kolapsys Data 1 aprilie 2008 17:40:37
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
// 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);
}