Factorial[n]
or short n!
. Mathematica handles the details of the function for you and prints the result.In the course M381 you have to prove that functions like factorial are a primitive recursive function. This basically means that the function can be defined only in terms of itself, add one, or set to zero. A primitive recursive definition of factorial would look as follows in Mathematica.
suc[n1_] := n1 + 1
add[n1_, 0] := n1
add[n1_, n2_] := suc[add[n1, n2 - 1]]
mul[n1_, 0] := 0
mul[n1_, n2_] := add[mul[n1, n2 - 1], n1]
fac[0] := suc[0]
fac[n_] := mul[n, fac[n - 1]]
As you can see no other Mathematica functions than "+ 1" and "= 0" are used. The functions suc, add, mul, fac are defined for the first time.
For example:
In[67]:= Factorial[6]
fac[6]
Out[67]= 720
Out[68]= 720
.
No comments:
Post a Comment