Cod sursa(job #1436439)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 15 mai 2015 21:49:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>

using namespace std;

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

typedef long long int var;

var getZero(var mid){
    var num = 0;
    for(var i = 5; i <= mid; i *= 5){
        num += mid / i;
    }
    return num;
}

int main()
{
    var p,lo,hi,mid;
    fin >> p;
    lo = 1; hi = p * 5;
    while(lo <= hi){
        mid = (lo + hi) / 2;
        if(getZero(mid) < p){
            lo = mid + 1;
        } else {
            hi = mid - 1;
        }
    }
    if(getZero(lo) == p){
        fout << lo;
    } else {
        fout << "-1";
    }
    return 0;
}