Pagini recente » Cod sursa (job #2253617) | Cod sursa (job #3165093) | Cod sursa (job #1908223) | Cod sursa (job #2138434) | Cod sursa (job #1706002)
#include <fstream>
using namespace std;
ofstream fout("factorial.out");
ifstream fin("factorial.in");
int p;
long long nr0;
int main()
{
fin>>p;
if( p == 0)
{
fout<<1;
return 0;
}
long long st = 1;
long long dr = 9223372036854775800;
while( st <= dr )
{
long long aux = ( st + dr ) / 2;
long long rez = 0;
while( aux >= 5)
{
rez += ( aux / 5);
aux /= 5;
}
if( rez >= p )
dr = ( st + dr ) / 2 - 1;
else
st = ( st + dr ) / 2 + 1;
}
long long aux = st;
long long rez = 0;
while( aux >= 5)
{
rez += ( aux / 5);
aux /= 5;
}
if( rez == p) fout<<st;
else fout<<-1;
}