Pagini recente » Cod sursa (job #3158671) | Cod sursa (job #90558) | Cod sursa (job #3249669) | Cod sursa (job #2974132) | Cod sursa (job #71822)
Cod sursa(job #71822)
#include <stdio.h>
#include <fstream>
using namespace std;
#define in "fact.in"
#define out "fact.out"
#define llu long long unsigned
llu P, N, St, Dr, Mij, Pivot;
llu T, X, Sol = 0;
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%llu", &P);
St = 1, Dr = 10000000000LL;
while ( St < Dr )
{
Mij = (St+Dr)>>1;
Pivot = Mij;
T = 0; X = 5;
while ( Pivot >= X )
{
T += Pivot / X;
X *= 5;
}
if ( T < P ) St = Mij + 1;
else if ( T == P ) Sol = Mij, Dr = Mij-1;
else Dr = Mij-1;
}
if ( Sol == 0 )
{
printf("-1\n");
return 0;
}
if ( Sol % 5 != 0 ) Sol -= 1;
printf("%llu", Sol);
}