Cod sursa(job #1364535)
Utilizator | Data | 27 februarie 2015 18:27:15 | |
---|---|---|---|
Problema | Factorial | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include<fstream>
using namespace std;
int main()
{
int n,p,f,ls=5,ld=400000015,g=0,x;
ifstream t("fact.in");ofstream r("fact.out");
t>>p;
if(p==0)r<<"1";
else
while(ls<=ld && g==0)
{
n=(ls+ld)/2;
x=0;
f=5;
while(f<=n)
{
x+=n/f;
f*=5;
}
if(x==p){r<<n/5*5;g=1;}
else if(x<p)ls=n+1;
else ld=n-1;
}
return 0;
}