Найдите верхнюю границу этой факториальной функции или оптимизированного кода

Я написал функцию для нахождения факториала и подсчета количества конечных нулей для данной входной функции. Я написал это на языке программирования Javascript. Он дал мне правильный ответ до тех пор, пока ввод не будет равен 21, но после этого он не может вычислить (думая, что я достиг верхней границы своей функции). Может кто-нибудь объяснить/дать мне оптимизированный код для поиска конечных нулей до тех пор, пока ввод не станет 10 000 или более. Или какой-нибудь другой математический метод для расчета? пишу мой код здесь.

function factorial(n) {
    var fact = 1;
    var value = "";
    var count = 0;
    for (var i = n; i > 1; i--) {
        value = value+(i+"*");
        fact = fact*i;
    }

    console.log(value + i + "=", fact);

    for (var i = n; i > 1; i--) {
        if (fact%10 === 0) {
            count++;
            fact = fact/10;
        }
    }

    console.log(count);
}

person bmchaitu    schedule 19.04.2021    source источник
comment
Количество конечных нулей n! этаж(n/5) + этаж(n/(5*5)) + этаж(n/(5*5*5)) + ...   -  person Paul Hankin    schedule 19.04.2021
comment
en.wikipedia.org/wiki/.   -  person Paul Hankin    schedule 19.04.2021