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