Cod sursa(job #2258133)
| Utilizator | Data | 10 octombrie 2018 21:25:23 | |
|---|---|---|---|
| Problema | Factorial | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <bits/stdc++.h>
using namespace std;
long long n,l,r,m,p,z,ans;
int tester(int nr);
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
scanf("%lld",&n);
l=1;
r=100000000000000001;
while(l<=r)
{
z=0;
p=1;
m=(l+r)/2;
while(p*5<=m)
{
p*=5;
z+=m/p;
}
if(z>=n)
{
r=m-1;
if(z==n) ans=m;
}
else l=m+1;
}
if(ans==0) printf("%d",-1);
else printf("%lld",ans);
return 0;
}
