Cod sursa(job #3329176)

Utilizator crezyNeagu Florin Nicolae crezy Data 12 decembrie 2025 00:07:34
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

long long P, N;

long long zero(long long n)
{
    long long p = 5;
    long long sum = 0;
    while(n >= p)
    {
        sum += n / p;
        p *= 5;
    }
    return sum;
}

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

    cin >> P;
    long long st, dr, mij, f = -1;
    st = 0, dr = 5 * P + 5;
    if(P == 0)
        cout << 1;
    else
    {
        while(st <= dr)
        {
            mij = (st + dr) / 2;
            if(P <= zero(mij))
            {
                dr = mij - 1;
                f = mij;
            }
            else
                st = mij + 1;
        }
        if(P == zero(f))
            cout << f;
        else
            cout << -1;
    }
    return 0;
}