Cod sursa(job #260465)
Utilizator | Data | 17 februarie 2009 09:05:44 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.44 kb |
#include<fstream.h>
ifstream f("fact.in");
ofstream g("fact.out");
long x,p,n,nr,u,v,c;
int main(){
f>>p;
if(p==0) g<<1;
else{
u=0;nr=0;v=1000000000;
while(u<=v)
{
n=(u+v)/2;x=5;
nr=0;
while(n>=x)
{
nr=nr+n/x;
x=x*5;
}
if(nr<p)
u=n+1;
else
if (nr>p)
v=n-1;
else
{ while(n%5!=0)
n--;
break;
}
}
g<<n;
}
return 0;
}