Факториал в TeX
Пример для версий
Web2c 2009
Данный пример использует итеративное определение факториала.
В макросе \factorial
используются двойные фигурные скобки, т.к. в макросе присутствует цикл, который вызывается внутри другого цикла.
Рассчитываются только факториалы чисел до 12 включительно. Для больших чисел выполнение завершается с ошибкой “Arithmetic overflow”.
\newcount\n \newcount\p \newcount\m
\def\factorial#1{{\m=#1\advance\m by 1
\n=1
\p=1
\loop\ifnum\n<\m \multiply\p by \n \advance\n by 1 \repeat\number\p}}
\def\printfactorials#1{\m=#1\advance\m by 1
\n=0
\loop\ifnum\n<\m \hfil\break\number\n! = \factorial{\n} \advance\n by 1 \repeat}
\printfactorials{12}
\bye
Комментарии
]]>blog comments powered by Disqus
]]>