Pagini recente » Cod sursa (job #1715675) | Cod sursa (job #818352) | Cod sursa (job #2465591) | Cod sursa (job #2431659) | Cod sursa (job #759184)
Cod sursa(job #759184)
#include <cstdio>
using namespace std;
int n, x;
int descompunere(int x)
{
int c = 0, d = 5;
while(d <= x) {
c += x / d;
d *= 5;
}
return c;
}
int cauta(int left, int right)
{
int mij, sol = -1, verifica;
while(left <= right) {
mij = (left + right) / 2;
verifica = descompunere(mij);
if(verifica == n) {
sol = mij;
right = mij - 1;
}
else if(verifica > n)
right = mij - 1;
else left = mij + 1;
}
return sol;
}
int main()
{
freopen ("fact.in", "r", stdin);
freopen ("fact.out", "w", stdout);
scanf("%d", &n);
if(n == 0) {
printf("1");
return 0;
}
x = cauta(1, n * 5);
if(x != -1)
printf("%d", x);
else printf("-1");
return 0;
}