Cod sursa(job #2325883)

Utilizator cmv05Catalina Maria Vlad cmv05 Data 23 ianuarie 2019 01:42:17
Problema Factorial Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>

using namespace std;

ifstream cin ("fact.in");
ofstream cout ("fact.out");

int zeros (int n)
{
    int answer = 0;
    long long p = 5;
    while (n / p)
    {
        answer += n / p;
        p *= 5;
    }
    return answer;
}

int main()
{
    int p;
    cin >> p;
    if (p == 0)
    {
        cout << 1;
        return 0;
    }
    int _left = 1;
    int _right = 5 * p;

    while (_left <= _right)
    {
        int middle = (_left + _right) / 2;
        if (zeros (middle) < p)
            _left = middle + 1;
        else if (zeros (middle) > p)
            _right = middle - 1;
        else
        {
            cout << middle - middle % 5 << '\n';
            return 0;
        }
    }
    return 0;
}