P
pro·school.ru
Каталог школ

Вычисление факториала числа

💻 Информатика · 8 класс

Что такое факториал

Факториал натурального числа n — это произведение всех натуральных чисел от 1 до n включительно. Обозначается восклицательным знаком: n!. Например, 5! = 1·2·3·4·5 = 120. По договорённости считают, что 0! = 1. Факториал очень быстро растёт с увеличением числа и часто встречается в задачах на перебор вариантов и комбинаторику — например, при подсчёте числа перестановок.

Вычисление факториала — классическая учебная задача на использование цикла. На ней удобно отработать важный приём: накопление произведения в отдельной переменной. Этот же приём пригодится во множестве других задач, поэтому разобраться в нём стоит внимательно.

Идея вычисления в цикле

Факториал удобно считать с помощью цикла со счётчиком. Заводят переменную-накопитель произведения, в которую сначала записывают единицу, а затем в цикле последовательно умножают её на 2, 3, ... n. Начальное значение именно 1, потому что умножение на единицу не меняет результат, а вот ноль обнулил бы всё произведение сразу.

Правило. Накопитель произведения всегда начинают с единицы. Если начать с нуля, итог получится нулевым независимо от остальных множителей.

Разобранный пример

# Питон, вычисление n! n = 5 f = 1 # накопитель произведения for i in range(1, n + 1): f = f * i # умножаем на очередное число print(f) # выведет 120

Цикл повторяется для значений i от 1 до n, и на каждом шаге накопитель умножается на текущее значение счётчика. После завершения цикла в переменной f хранится готовый ответ.

Как меняется накопитель по шагам

Чтобы понять работу цикла, полезно проследить значение накопителя на каждом шаге. Такую таблицу называют трассировкой.

Шаг (i)ДействиеЗначение f
11 · 11
21 · 22
32 · 36
46 · 424
524 · 5120

Несколько значений факториала

Обратите внимание, насколько стремительно растёт факториал: уже при небольших числах значения становятся очень большими.

nn!
01
36
5120
75040
103628800

Связь с задачами на перебор

Факториал важен не только сам по себе. Он показывает, сколькими способами можно расставить по порядку n различных предметов. Например, четыре книги на полке можно расставить 4! = 24 способами. Поэтому факториал постоянно встречается в комбинаторике — разделе математики, который изучает количество вариантов в разных задачах перебора.

Частая ошибка. Забывают, что верхняя граница цикла должна включать само число n. В записи range(1, n + 1) прибавление единицы обязательно, иначе последний множитель пропадёт и ответ окажется неверным. Ещё одна ошибка — начать накопитель с нуля вместо единицы.

Кратко о главном

  • Факториал n! — произведение всех чисел от 1 до n.
  • Его вычисляют в цикле через накопитель произведения.
  • Накопитель начинают с единицы, иначе результат обнулится.
  • По договорённости 0! = 1, а факториал растёт очень быстро.
  • Верхняя граница цикла должна включать само число n.