author | Christian Urban <christian.urban@kcl.ac.uk> |
Fri, 04 Nov 2022 12:07:40 +0000 | |
changeset 894 | 02ef5c3abc51 |
parent 864 | solution/cw5/fact.fun@b5b1bc0a603b |
permissions | -rw-r--r-- |
// a simple factorial program // (including a tail recursive version) def fact(n: Int) : Int = if n == 0 then 1 else n * fact(n - 1); def facT(n: Int, acc: Int) : Int = if n == 0 then acc else facT(n - 1, n * acc); def facTi(n: Int) : Int = facT(n, 1); def top() : Void = { print_int(fact(6)); print_char(','); print_int(facTi(6)); print_char('\n') }; top()