| author | Christian Urban <urbanc@in.tum.de> | 
| Thu, 21 Nov 2019 00:49:21 +0000 | |
| changeset 696 | 2726f2afad67 | 
| parent 655 | 689d1bdd91c0 | 
| child 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 | |
| 655 | 16 | write(facTi(5 + 5)) | 
| 17 |