progs/fun/fact.fun
changeset 735 fc2e3609d5e5
parent 702 39e21a33ffb0
child 814 1fbaa5f05516
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/progs/fun/fact.fun	Mon Jul 20 10:06:43 2020 +0100
@@ -0,0 +1,15 @@
+def fact(n) =
+  (if n == 0 then 1 else n * fact(n - 1));
+
+def facT(n, acc) =
+  if n == 0 then acc else facT(n - 1, n * acc);
+
+def facTi(n) = facT(n, 1);
+
+//fact(10)
+//facTi(10)
+
+write(facTi(6))
+
+// a simple factorial program
+// (including a tail recursive version)