Cod sursa(job #995620)

Utilizator harababurelPuscas Sergiu harababurel Data 9 septembrie 2013 22:43:59
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <climits>
#define inf (INT_MAX)
using namespace std;

int z(int n) {
    int cnt = 0;
    while(n >= 5) {
        n -= n%5;
        cnt += n/5;
        n /= 5;
    }
    return cnt;
}

int p, lo = 0, hi = inf, mid;

int main() {
    ifstream f("fact.in");
    ofstream g("fact.out");

    f>>p;
    while(hi - lo > 1) {
        mid = (lo + hi) >> 1;

        if(z(mid) >= p) hi = mid;
        else lo = mid;
    }

    if(z(hi) != p) hi = -1;
    g<<hi<<"\n";



    return 0;
}