Mai intai trebuie sa te autentifici.
Cod sursa(job #2051159)
Utilizator | Data | 28 octombrie 2017 16:44:26 | |
---|---|---|---|
Problema | Factorial | Scor | 15 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.77 kb |
#include <cstdio>
#include <iostream>
using namespace std;
long l1,l2,p,n,mijl,nr,x,put;
int main()
{
freopen("fact.in","r",stdin);
freopen("fact.out","w",stdout);
cin>>p;
if (p==0)
cout<<1;
else
{
l1=5;
l2=2000000000;
while (l1<=l2)
{
mijl=(l1+l2)/2;
x=5;
n=mijl;
put=0;
while (n/x>=1)
{
put=put+n/x;
x=x*5;
}
if (put<p)
l1=mijl+1;
else
{
nr=mijl;
l2=mijl-1;
}
}
if (l1>l2)
cout<<"-1";
else
cout<<nr;
}
return 0;
}