Cod sursa(job #73104)

Utilizator DjSefuWrong name DjSefu Data 16 iulie 2007 19:34:19
Problema Next Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
#include<string.h>
FILE *f=fopen("next.in","r"),
     *g=fopen("next.out","w");
char n[10000];
long long d,s,k,i,j,r,p;
int main()
{ fscanf(f,"%s",&n);
  fscanf(f,"%lld",&d);
  p=1;
  while(s<d){ if(s<d) s*=10;
	      s+=n[k]-'0';
	      ++k;
	    }
  while(k<strlen(n)){ s=s%d*10;
		     s+=n[k]-'0';
		     ++k;
		   }
  s%=d;
  p=10;
  s=d-s;
  for(i=1;r||s;++i){ k=n[strlen(n)-i]-'0'+s%p+r;
		     if(k>9) r=1;
		     else r=0;
		     n[strlen(n)-i]=k%10+'0';
		     s/=10;
		   }
  fprintf(g,"%s",n);
  fclose(f);
  fclose(g);
  return 0;
}