Pagini recente » Cod sursa (job #1647156) | Cod sursa (job #2570923) | Cod sursa (job #1668884) | Cod sursa (job #2032393) | Cod sursa (job #2714320)
#include <iostream>
#include <stdio.h>
#include <cstdio>
#define NMAX 100000000
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;
}