Pagini recente » Cod sursa (job #2835186) | Cod sursa (job #1275411) | Cod sursa (job #1512836) | Cod sursa (job #1414339) | Cod sursa (job #2477392)
#include <iostream>
#include <fstream>
using namespace std;
int fact(int n)
{
int putere, s = 0;
putere = 5;
while(n / putere != 0)
{
s += n / putere;
putere = putere * 5;
}
return s;
}
int main()
{
ifstream fin("fact.in");
ofstream fout("fact.out");
int p, n, i, st, dr, mij, c, factorial;
fin >> p;
st = 1;
dr = 500000000;
c = 0;
while(st <= dr)
{
mij = st + (dr - st) / 2;
factorial = fact(mij);
if(factorial == p)
{
n = mij;
c = 1;
break;
}
if(factorial < p)
st = mij + 1;
else
dr = mij - 1;
}
if(c == 1)
{
n = n - (n % 5);
fout << n;
}
else
fout << -1;
return 0;
}