Cod sursa(job #1893235)

Utilizator EuAlexOtaku Hikikomori EuAlex Data 25 februarie 2017 16:01:58
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

using namespace std;

long long nrzero(long long n) {
    long long rasp = 0;
    while(n) {
        rasp += n / 5;
        n /= 5;
    }
    return rasp;
}

void cautbin(long long st, long long dr, long long val) {
    long long med, last = 1;
    while(st <= dr ) {
        med = st + (dr - st) / 2;
        if(nrzero(med) >= val) {
            last = med;
            dr = med - 1;
        } else {
            st = med + 1;
        }
    }
    printf("%lld", last);
}

int main() {
    freopen("fact.in", "r", stdin);
	freopen("fact.out", "w", stdout);

    long long n;
    scanf("%lld", &n);
    cautbin(1, (1LL << 61), n);

    return 0;
}