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

Содержимое удалено Содержимое добавлено
Оформление, уточнения; оставлен единственный «итеративный» вариант; →‎Использование хвостовой рекурсии: новый раздел.
Нет описания правки
Строка 97:
# Улучшите программы, добавив к ним диагностику ошибки во входных данных: если <var >n</var> &lt; 0, то программа должна ясно сообщать о неопределенности факториала для отрицательных чисел.
# Опытным путем определите максимальные значения аргумента и результата для программ выше. Исследуйте влияние на эти значения замены используемого в программах [[Язык Си в примерах/Скалярные типы#Числовые типы |числового типа]] <code >int</code> на <code >short</code>, <code >long</code> и <code >long long</code>. <strong >Обратите внимание</strong>, что при этом также потребуется соответственно изменить ''строку формата'' (первый аргумент) функции <code >printf</code>.
# После выполнения первых двух заданий Вы поймете, что максимальной натуральной число по которому возможно вычислить факториал с использованием 4-х байтовых беззнаковых чисел это 12 (всего навсего). Настоящий программист не будет использовать рекурсии и умножать в цикле, а использует предвычисленный статический массив готовых данных. Попробуйте и сравните быстродействие.
 
== См. также ==