Cod sursa(job #2537651)

Utilizator marius004scarlat marius marius004 Data 3 februarie 2020 20:46:01
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>

std::ifstream f("fact.in");
std::ofstream g("fact.out");

long long n;

long long Count0(long long n){
    
    long long power = 5;
    long long sol = 0;
    
    while(power <= n){
        sol += n / power;
        power *= 5;
    }
    
    return sol;
}

int main(){
    
    f >> n;
    
    long long left = 1;
    long long right = 5 * n;
    
    while(left <= right){
        
        long long mid = (left + right) / 2;
        
        if(Count0(mid) >= n)
            right = mid - 1;
        else
            left = mid + 1;
    }
    
    if(Count0(left) != n)
        g << -1;
    else
        g << left;
    
    return 0;
}