summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/lisp-on-tex/examples/fact.tex
blob: 39fb7eeb116510ded1a9c76f0fb54453b158762c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
\documentclass{article}
\usepackage{lisp-on-tex}
\lispinterp{%
  (\define \sq (\lambda (\n) (\* \n \n)))
  (\define \fact (\lambda (\n) (\lispif (\= \n :0) :1 (\* \n (\fact (\- \n :1))))))
  }
\newcommand\sq[1]{\lispinterp{(\texprint (\sq :#1))}}
\newcommand\fact[1]{\lispinterp{(\texprint (\fact :#1))}}

\begin{document}
\section{Factorials and Squares}
  \begin{center}
  \begin{tabular}{r||rr}\hline\hline
    $n$ & $n!$ & $n^2$ \\ 
    \hline
     1 & \fact{1} & \sq{1} \\
     2 & \fact{2} & \sq{2} \\
     3 & \fact{3} & \sq{3} \\
     4 & \fact{4} & \sq{4} \\
     5 & \fact{5} & \sq{5} \\
     6 & \fact{6} & \sq{6} \\
     7 & \fact{7} & \sq{7} \\
     8 & \fact{8} & \sq{8} \\
     9 & \fact{9} & \sq{9} \\
    10 & \fact{10} & \sq{10} \\
    11 & \fact{11} & \sq{11} \\
    \hline
  \end{tabular}
  \end{center}
\end{document}