| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Tue, 01 Sep 2020 12:44:07 +0100 | |
| changeset 750 | 40b7efa5fbed | 
| parent 742 | 155426396b5f | 
| child 790 | 71ef7d9ef635 | 
| 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 |