Cod sursa(job #2645766)

Utilizator Maria23Dutu Maria Maria23 Data 29 august 2020 15:43:47
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

int main()
{   ifstream fin ("fact.in");
    ofstream fout ("fact.out");
    int P;
    long long st = 1;
    long long dr = 5e8;
    fin>>P ;
    while(st<=dr)
    {
        long long put=5;
        long long m=(st+dr)/2 ;
        long long N=0;
        while(m/put)
        {
            N+=m/put ;
            put*=5;
        }
        if(N==P)
        {
            fout<<max(1LL, m-m%5);
            return 0;
        }
        else {
            if (N > P)
                dr = m - 1;
            else
                st = m + 1;
        }
    }
    fout<< "-1";
    return 0;
}