Cod sursa(job #174166)

Utilizator laurpoppopescu laurentiu laurpop Data 8 aprilie 2008 16:14:04
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include<fstream.h>   
#include<math.h>   
long long s=1,d=2000000000,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;   
}