| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Tue, 27 Oct 2020 13:51:34 +0000 | |
| changeset 793 | b5a2d033679f | 
| parent 735 | 0426cd1336f7 | 
| child 814 | 0db5961fe39f | 
| permissions | -rw-r--r-- | 
| 655 | 1  | 
def fact(n) =  | 
| 
735
 
0426cd1336f7
updatd
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
702 
diff
changeset
 | 
2  | 
(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
 | 
3  | 
|
| 655 | 4  | 
def facT(n, acc) =  | 
5  | 
if n == 0 then acc else facT(n - 1, n * acc);  | 
|
6  | 
||
7  | 
def facTi(n) = facT(n, 1);  | 
|
| 
224
 
70198792c2aa
added
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
8  | 
|
| 655 | 9  | 
//fact(10)  | 
10  | 
//facTi(10)  | 
|
| 
224
 
70198792c2aa
added
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
11  | 
|
| 702 | 12  | 
write(facTi(6))  | 
| 655 | 13  | 
|
| 
735
 
0426cd1336f7
updatd
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
702 
diff
changeset
 | 
14  | 
// a simple factorial program  | 
| 
 
0426cd1336f7
updatd
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents: 
702 
diff
changeset
 | 
15  | 
// (including a tail recursive version)  |