Cod sursa(job #249310)

Utilizator portocalaDiculescu Elena Alexandra portocala Data 27 ianuarie 2009 23:56:39
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.46 kb
#include<fstream.h>

int main()
{unsigned long p,n,a,b,c,x,d,z,r=0;
ifstream f("fact.in");
ofstream g("fact.out");

f>>p;
f.close();

if(!p) {g<<1<<'\n'; g.close(); return 0;}

a=b=1;
b=b<<31;

while(a<=b)
 {c=a+(b-a)/2;
  d=5;
  z=0;

  while((c/d)&&(z<=p))
   {x=c/d;
    z+=x;
    if(x>1) d*=5;
     else break;
   }

  if(z<p) a=c+1;
   else b=c-1;

  if(z==p) r=c;
 }

if(!r) g<<-1<<'\n';
else g<<r<<'\n';
g.close();

return 0;
}