Cod sursa(job #2779423)

Utilizator KarinaDKarina Dumitrescu KarinaD Data 3 octombrie 2021 18:13:17
Problema Factorial Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>

using namespace std;

int main() {
    
    ifstream fin ( "fact.in" );
    ofstream fout ( "fact.out" );
    
    long long n, st, dr, mij, k = 0, p;
    
    fin >> n;
    
    st = 0;
    dr = 500000000;
    
    while ( st != dr ){
        
        mij = ( st + dr ) / 2;
        
        k = 0;
        
        for ( p = 5; p <= mij; p *= 5 )
            k = k + mij / p;
        
        if ( k < n )
            st = mij + 1;
        else
            dr = mij;
        
    }
    
    if ( n == k )
        fout << st;
    else
        fout << "-1";
    
    
    return 0;
}