Pagini recente » Cod sursa (job #391373) | Cod sursa (job #1303472) | Cod sursa (job #2488221) | Cod sursa (job #1998691) | Cod sursa (job #2714339)
#include <iostream>
#include <stdio.h>
#include <cstdio>
#define NMAX 919999999999999999
using namespace std;
long long lagrange (long long n){
long long x = 5;
long long cnt = 0;
while (n / x > 0){
cnt += n / x;
x *= 5;
}
return cnt;
}
int main(){
FILE *fin = fopen ("fact.in", "r");
FILE *fout = fopen ("fact.out", "w");
int k;
long long st, dr, ans, mij;
st = 1; dr = NMAX + 1;
fscanf (fin, "%d", &k);
while (st < dr){
mij = (st + dr) / 2;
if (lagrange(mij) >= k)
dr = mij;
else
st = mij + 1;
}
mij = st + (dr - st) / 2;
if (lagrange(mij) == k)
fprintf (fout, "%d", mij);
else
fprintf (fout, "-1");
return 0;
}