Cod sursa(job #2609094)

Utilizator PatriciaCretoiuCretoiu Patricia PatriciaCretoiu Data 2 mai 2020 10:31:07
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda igorj_mentorat1 Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");

int main()
{
    int p;
    in >> p;

    if(p == 0)
    {
        out << 1;
        return 0;
    }
    int left = 1, right = 5 * p, mid;
    while(left <= right)
    {
        mid = left + (right - left) / 2;
        int s = 0, nr = 5;
        while(nr <= mid)
        {
            s += mid / nr;
            nr *= 5;
        }
        if(s == p)
        {
            out << mid - mid % 5;
            return 0;
        }
        else if(s < p)
            left = mid + 1;
        else
            right = mid - 1;
    }
    out << -1;
}