Pagini recente » Cod sursa (job #935536) | Cod sursa (job #825675) | Cod sursa (job #887575) | Cod sursa (job #430099) | Cod sursa (job #2294327)
#include <fstream>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int factorial(int n)
{
int cnt = 0;
while(n >= 5)
{
cnt += n / 5;
n /= 5;
}
return cnt;
}
int main()
{
int P, n, stg, dr, mid,gasit=0;
fin >> P;
if(P == 0)
{
fout << 1;
return 0;
}
stg = 1;
dr = 5000000;
while(stg < dr)
{
mid = stg+ (dr-stg)/2;
if(factorial(mid) > P)
dr = mid - 1;
else if(factorial(mid) < P)
stg = mid + 1;
else if(factorial(mid) == P)
{gasit=1;break;}
}
if(gasit==1)
{
mid -= mid % 5;
fout << mid;
}
else fout<<-1;
return 0;
}