Cod sursa(job #37787)

Utilizator al3csutzuSirbu Alexandru al3csutzu Data 25 martie 2007 12:33:43
Problema Next Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 4, Clasa a 9-a si gimnaziu Marime 0.94 kb
#include <fstream.h>
#include <string.h>
//#include <algorithm.h>
//using namespace std

int main()
{
  ifstream f("next.in");
  ofstream g("next.out");
  long long d,aux;
  unsigned char b[1000002],x[16];
  int a[1000002];
  long k,lg,i;
  i=0;
  f.get(b,10001);
  for (i=0;i<strlen(b);i++)
    a[i+1]=b[i]-48;
  f.get();
  f>>d;
  f.close();
  k=0;
  aux=0;
  while(k<i)
  {
    k=k+1;
    aux=(aux*10+a[k])%d;
  }
  aux=d-aux;
  k=0;
  do
  {
    k=k+1;
    x[k]=aux%10;
    aux=aux/10;
  }
  while (aux!=0);
  aux=0;
  for(lg=1;lg<=k;lg++)
  {
    a[i-lg+1]=a[i-lg+1]+x[lg]+aux;
    aux=a[i-lg+1]/10;
    a[i-lg+1]=a[i-lg+1]%10;
  }
  a[0]=0;
  while((aux==1))
  {
    k=k+1;
    a[i-k+1]=a[i-k+1]+aux;
    lg=a[i-k+1];
    a[i-k+1]=a[i-k+1]%10;

    aux=lg/10;
  }

  for (k=0;k<=i;k++)
  {
    if ((k==0) && (a[k]>0)) g<<a[k];
    else if (k>0) g<<a[k];
  }
  g<<"\n";
  g.close();
  return 0;
}