Pagini recente » Cod sursa (job #143743) | Cod sursa (job #673558) | Arhiva de probleme | Cod sursa (job #2893609) | Cod sursa (job #261657)
Cod sursa(job #261657)
#include <stdio.h>
#include <iostream>
long P;
int main()
{
freopen ("fact.in","r",stdin);
freopen ("fact.out","w",stdout);
scanf("%ld",&P);
if (P==0)
{
printf("%ld\n",1);
return 0;
}
long left = 1;
long right = 500000000;
long middle, aux, sum;
while (left < right - 1)
{
middle = (left + right) / 2;
sum = 0;
aux = middle;
while (aux > 0)
{
sum += aux / 5;
aux = aux / 5;
}
if (sum < P)
left = middle;
else
if (sum > P)
right = middle;
else
{
while (middle % 5 != 0)
middle --;
printf("%ld\n",middle);
return 0;
}
}
printf("%ld\n",-1);
return 0;
}