Pagini recente » Cod sursa (job #2025416) | Cod sursa (job #1586219) | Cod sursa (job #992195) | Cod sursa (job #478419) | Cod sursa (job #2257196)
#include <iostream>
#include <fstream>
using namespace std;
int P;
int tester(int nr);
int main()
{
int left, right, middle, fact;
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;
}
if(rezult == -1)
cout << rezult;
else
cout << rezult - rezult % 5;
}
return 0;
}
int tester(int nr)
{
int nulla = 0, i = 5;
while(nr >= i){
nulla += nr / i;
i *= 5;
}
return nulla;
}