Pagini recente » Cod sursa (job #736586) | Cod sursa (job #2420762) | Cod sursa (job #1715873) | Cod sursa (job #3030794) | Cod sursa (job #1113695)
#include <cstdio>
using namespace std;
int nr_0(int n)
{
int imp = 5, s = 0;
while (n / imp)
{
s += n / imp;
imp *= 5;
}
return s;
}
int main()
{
freopen("fact.in", "r", stdin);
freopen("fact.out", "w", stdout);
int P, mij, in = 1, sf, gasit = 0, val;
scanf("%d", &P);
sf = 5 * P;
for (mij = (in + sf) >> 1; in <= sf; mij = (in + sf) >> 1)
{
val = nr_0(mij);
if (val == P)
{
gasit = 1;
break;
}
else if (val > P)
sf = mij - 1;
else in = mij + 1;
}
if (gasit)
printf("%d\n", mij - mij % 5);
else if (P == 0) printf("1\n");
else printf("-1\n");
fclose(stdout);
return 0;
}