Cod sursa(job #349652)

Utilizator TFifesPorcescu Alexandru TFifes Data 20 septembrie 2009 21:46:07
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
int main ()
{
    short s=0,i;
  ifstream x("fact.in");
  ofstream y("fact.out");
  unsigned long v[13];
  for(i=0;i<13;i++)
      v[i]=pow(5,i+1);
      unsigned long p,a,b,c,nr,d;
      a=0;
      b=2000000000;
      x>>p;
      if(p==0)
      {
          y<<1;
          x.close();
          y.close();
          return 0;
      }
      do
      {

          c=(a+b)/2;
          d=c;
          while(c%5==0)
          {
              for(i=12;i>=0;i--)
              {
                  if(c%v[i]==0)
                  {
                      c=c/v[i];
                      nr+=i+1;
                  }
              }

          }

          if(nr==p)
          {
           s=1;
           y<<b;
          }
          if(nr>p)
          {
              b=d-1;
          }
          else
          {
              a=d+1;
          }
      }
      while(s!=1);
      if(s==0)
          y<<-1;
       x.close();
       y.close();
    return 0;
    }