Cod sursa(job #1822355)
| Utilizator | Data | 4 decembrie 2016 19:44:43 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.6 kb |
#include <bits/stdc++.h>
using namespace std;
long long l,r,p,m,u;
int n(int a)
{
int i=5,t=0,k=0;
while(i<=a)
{
k = k+a/i;
i=i*5;
}
return k;
}
int main()
{
freopen("fact.in","rz",stdin);
freopen("fact.out","w",stdout);
cin >> p;
if (p == 0)
{
cout << 1;
return 0;
}
u=0;
l=1;
r=5*p;
while(l<=r)
{
m=l+(r-l)/2;
if (n(m) == p)
u=1;
if (n(m)>=p)
r=m-1;
else l=m+1;
}
if (u)
cout<<l;
else cout<<-1;
return 0;
}
