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

Содержимое удалено Содержимое добавлено
Нет описания правки
Строка 89:
 
В отличие от варианта с рекурсией введена дополнительная локальная переменная. Но, в отличие от первого варианта, не требуется выделение нового стека на очередном шаге. Справедливо отметить, что компиляторы могут оптимизировать рекурсии, а также, что в данной конкретной задаче это не столь значимо.
== Пример 4 ==
 
Вариант без рекурсии и только для положительных чисел
<big><source lang="c">
typedef unsigned int size_t;
size_t factorial(size_t p_n)
{
size_t v_res=1;
for (;p_n>1;v_res*=p_n--);
return v_res;
}
</source></big>
== Задания ==