Cod sursa(job #2594707)

Utilizator Wister1043Silaghi Razvan-Andrei Wister1043 Data 6 aprilie 2020 15:44:10
Problema Factorial Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;

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

int factorial(int numar)
{
    int val=0;
    while(numar/5>0)
    {
        val+=numar/5;
        numar=numar/5;
    }
    return val;
}

int main()
{
    long long P, N;
    fin>>P;
    long long st=1, dr=P;
    while(st<dr)
    {
        long long mid=(st+dr)/2;
        if(factorial(mid*5)<P)
        {
            st=mid+1;
        }
        else
        {
            dr=mid;
        }
    }
    if(factorial(st*5)!=P)
    {
        fout<<-1;
    }
    else
    {
        fout<<st*5;
    }
    return 0;
}