Cod sursa(job #1067187)

Utilizator andreiblaj17Andrei Blaj andreiblaj17 Data 26 decembrie 2013 15:17:35
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");

int x,hi=INT_MAX,lo=0,mid;

int exp(int x){
    int k=0;
    while (x>0){
        x-=x%5;
        k+=x/5;
        x/=5;
    }
    return k;
}

int main(){
    
    in >> x;
    
    while (hi - lo > 1){
        mid = int((hi+lo)/2);
        if (exp(mid)>=x) hi=mid;
        else lo=mid;
    }
    
    if (exp(hi)!=x) out << -1;
    else out << hi;
    
    return 0;
}