| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Mon, 29 Jun 2020 21:05:34 +0100 | |
| changeset 725 | cd72ba78c287 | 
| parent 702 | 67ab7162a861 | 
| permissions | -rw-r--r-- | 
| 655 | 1 | // a simple factorial program | 
| 2 | // (including a tail recursive version) | |
| 224 
70198792c2aa
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | |
| 655 | 4 | |
| 5 | def fact(n) = | |
| 6 | if n == 0 then 1 else n * fact(n - 1); | |
| 224 
70198792c2aa
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | |
| 655 | 8 | def facT(n, acc) = | 
| 9 | if n == 0 then acc else facT(n - 1, n * acc); | |
| 10 | ||
| 11 | def facTi(n) = facT(n, 1); | |
| 224 
70198792c2aa
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 12 | |
| 655 | 13 | //fact(10) | 
| 14 | //facTi(10) | |
| 224 
70198792c2aa
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | |
| 702 | 16 | write(facTi(6)) | 
| 655 | 17 |