Обсуждение:Язык Си в примерах/Факториал

Материал из Викиучебника — открытых книг для открытого мира
Перейти к навигации Перейти к поиску

Целесообразность вычисления[править]

После выполнения первых двух заданий Вы поймете, что максимальное натуральное число по которому возможно вычислить факториал с использованием 4-х байтовых беззнаковых чисел это 12 (всего навсего). Настоящий программист не будет использовать рекурсии и умножать в цикле, а использует предвычисленный статический массив готовых данных. Попробуйте и сравните быстродействие.

89.250.18.4, 109775.

Замечание, в целом, имеет смысл, но — по ряду причин — не считаю его полезным именно в данном разделе.
  1. [М]аксимальное натуральное число по которому возможно вычислить факториал с использованием 4-х байтовых беззнаковых чисел это 12 — верно. Очевидно, следует также привести пример вычисления факториала с использованием GNU MP.
  2. Касаемо использования «предвычисленного статического массива готовых данных» — предвычисленного как? Не понадобится ли для вычисления такого массива некая программа? И будет ли ее отличие от приведенных в данном разделе сколь угодно существенным?
  3. Кроме того, с какой целью в «настоящем» программировании может потребоваться вычисление факториала? На мой взгляд, задача данного раздела не столько в том, чтобы научить читателя вычислять факториал, сколько в том, чтобы научить переводить рекуррентные формулы в рекурсивные функции.
  4. Попробуйте и сравните быстродействие. В данном учебнике не предлагается способов для такого сравнения (во всяком случае — в текущих редакциях предшествующих разделов), так что такая постановка задачи не вполне корректна по отношению к читателю.
Ivan Shmakov (ов) 13:15, 3 апреля 2015 (UTC)