Cod sursa(job #38190)

Utilizator c_iulyanCretu Iulian c_iulyan Data 25 martie 2007 15:39:59
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<string.h>
#include<fstream.h>
ifstream f("next.in");
ofstream g("next.out");
char a[10000000],b[20];
int c[10000000];
long va,vb;

void read()
{f.get(a,1000);
va=strlen(a);
f.get();
f.get(b,20);
vb=strlen(b);
}

int imp(char a[],long long d)
{long long r=0;
for(long i=0;i<va;i++)
    {r=r*10+(a[i]-48);
    a[i]=r/d+48;
    r=r%d;
    }
if(r) return 1;
return 0;
}

void inmM(char a[],char b[])
{long long r;
for(long i=va-1;i>-1;i--)
   {r=0;
   for(long j=vb-1; j>-1;j--)
      {r=r+c[i+j+1]+(a[i]-48)*(b[j]-48);
      c[i+j+1]=r%10;
      r=r/10;
      }
   c[i]=c[i]+r;
   }
}




int main()
{read();
if(vb<=9)
  {long long x=0;
  long i=0;
  while(i<vb)
  {x=x*10+(b[i]-48);
  i++;
  }
  if(imp(a,x)==1) a[va-1]++;
  inmM(a,b);
  i=0;
  while(c[i]==0) i++;
  for(;i<=va+vb-1;i++)
  g<<c[i];
  }
else g<<a;


return 0;
}