Pagini recente » Cod sursa (job #1623525) | Cod sursa (job #2050870) | Cod sursa (job #1936858) | Cod sursa (job #2256352) | Cod sursa (job #2775425)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
int P; //numarul intreg
int factorial_zero(int P)
{
bool iesire = false;
bool corect = false;
int zerouri = 0;
int numar = P * 5;
if(P == 0)
return 1;
else
{
while (!iesire && !corect)
{
int copie_numar = numar;
while (copie_numar / 5 != 0 && zerouri <= P)
{
zerouri += copie_numar / 5;
copie_numar /= 5;
}
if(zerouri < P)
{
iesire = true;
}
else if(zerouri == P)
{
corect = true;
}
else {
if(numar >= 5)
{
numar -= 5;
}
else
numar--;
zerouri = 0;
}
}
}
if(iesire == true)
return -1;
else
return numar;
}
int main()
{
in >> P;
out << factorial_zero(P);
return 0;
}