Pagini recente » Cod sursa (job #2915111) | Cod sursa (job #1071404) | Cod sursa (job #1672626) | Cod sursa (job #2814450) | Cod sursa (job #2257285)
#include <iostream>
#include <fstream>
using namespace std;
long long int tester(long long int nr);
int P;
int main()
{
long long int left, right, middle, fact;
long long int rezult = -1;
freopen("fact.in", "rt", stdin);
freopen("fact.out", "wt", stdout);
cin >> P;
if(P == 0)
cout << 1;
else{
left = 1;
right = P * 5;
while(left <= right){
middle = (left + right) / 2;
fact = tester(middle);
if(fact == P){
rezult = middle;
break;
}
else if(fact < middle)
left = middle + 1;
else
right = middle - 1;
}
if(rezult == -1)
cout << rezult;
else
cout << (rezult - rezult % 5);
}
return 0;
}
long long int tester(long long int nr)
{
int nulla = 0, i = 5;
while(nr >= i){
nulla += nr / i;
i *= 5;
}
return nulla;
}