Cod sursa(job #2263946)

Utilizator valorosu_300Cristian Gherman valorosu_300 Data 19 octombrie 2018 16:59:46
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
const int MAX_SIZE = 1000000000;
int nrZero(int n){
    long rez = 0, put = 5;
    while(put <= n){
        rez += (n / put);
        put *= 5;
    }
    return rez;
}
int binarySearch(int value){
    int left = 1, right = MAX_SIZE, middle, nr;
    while(left <= right){
        middle = (left + right) / 2;
        nr = nrZero(middle);
        if(nr < value)
            left = middle + 1;
        else
            right = middle - 1;
    }
    if(nrZero(left) == value)
        return left;
    return -1;
}
int main()
{
    int p;
    in>>p;
    in.close();
    out<<binarySearch(p)<<"\n";
    out.close();
    return 0;
}