Cod sursa(job #173879)

Utilizator laurpoppopescu laurentiu laurpop Data 8 aprilie 2008 11:29:00
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<fstream.h>
#include<math.h>
long long s=1,d=2000000,m,k,c,z=0,n,p;
int main()
{
ifstream f("fact.in");
ofstream g("fact.out");

f>>n;

if(n==0) g<<"1";
 else
{

m=(s+d)/2;

while (z!=n&&s<=d)

 {  z=0; k=5; p=1;

  while(k<=m)

   {

   c=m/k; z+=c;

   p++;

   k=pow(5,p);

   }

   if(z<n)   {s=m+1; m=(s+d)/2;}

    else if(z>n) {d=m-1; m=(s+d)/2;}

  }
if(z==n)
{

while (z==n){
m=m-1;
z=0; k=5; p=1;
  while(k<=m)
   {
   c=m/k; z+=c;

   p++;

   k=pow(5,p);

   }
}
g<<m+1;
}
 else g<<"-1";
}

f.close();
g.close();
return 0;
}