Доказательство количества нулей у факториала

Возник чисто математический вопрос: Как узнать количество нулей в конце факториала числа? То есть в конце полученного числа идут нули без других цифр. Как найти данную закономерность?

Я использовал свой код (с функцией из своего модуля):

   function intfact(a: BigInteger): BigInteger;   
     begin  
     intfact := 1;   
     var i: biginteger := 2;   
     while i <= a do   
       begin   
       intfact *= i;   
       i += 1;   
       end;   
     end; 

  begin 
  write(intfact(1));    //вводим число, которое хотим вычислить  
  end.  

Так у факториалов чисел: количество нулей в конце факториала числа
1: 0
10: 2
100: 24
1000: 249
10000: 2499
100000: 24999
1000000: 249998 Видна закономерность для 10^n, где после 10^3 включительно до 10^5 идут цифры 9 в конце записи Получается у числа (10^n)!, где n>=3 количество нулей равно = 24 …9 , где … равно количеству 9, которых равно
n-2.

Как это доказать? Как вывести закономерность количества нулей в конце числа для каждого n! ? [доказано]

И что мешало Вам просто загуглить?

Или тут.

1 лайк

Мы изобретали новый велосипед, как оказалось…
Спасибо за ссылки, очень понятно объяснили.
Вопрос закрыт.

хмм… Получается, что моя закономерность выше работает от 1000 до 100000. Когда компьютер посчитал 1 000 000 ! то получилось, что нулей 249998, но и по формуле получилось нулей - 249998.
1 000 000 / 5 + 1 000 000 / 25 + 1 000 000 / 125 + 1 000 000 / 625 + 1 000 000 / 3 125 + 1 000 000 / 15 625 +
1 000 000 / 78 125 + 1 000 000 / 390 625 с округлением до меньшего целого =
200 000 + 40 000 + 8 000 + 1 600 + 320 + 64 + 12 + 2 = 249 998