/*
ELEV: CRACIUN FLAVIU
Aceasta implementare calculeaza puterea lui 5 din n factorial,
deoarece puterile lui 5 sunt mai putin numeroase decat puterile lui 2
astfel calculeaza din 5 in 5 si daca x e egal cu p atunci returneaza i
COMPLEXITATE: O(P) unde p e numarul dat in problema
*/
#include <iostream>
#include <fstream>
using namespace std;
int cinciuri(int x)
{
int k = 0;
while(x%5==0)
++k,
x /= 5;
return k;
}
int zerouri(int x)
{
int k = 0;
for (int i = 5; i <= x; i += 5)
k += cinciuri(i);
return k;
}
int functia_cu_p(int x)
{
if(x == 0)
return 1;
if(x == 1)
return 5;
if(x == 2)
return 10;
int k = 2;
for (int i = 15; k < x; i += 5){
k += cinciuri(i);
if(k == x)
return i;
if(k > x)
return -1;
}
return -1;
}
int main()
{
ifstream fin ("fact.in");
ofstream fout ("fact.out");
int p;
fin >> p;
fout << functia_cu_p(p);
fin.close();
fout.close();
return 0;
}