| changeset 655 | 689d1bdd91c0 | 
| parent 626 | c75c730bdf11 | 
| child 702 | 67ab7162a861 | 
| 654:718a9913db60 | 655:689d1bdd91c0 | 
|---|---|
| 1 def fact(n) = if n == 0 then 1 else n * fact(n - 1); | 1 // a simple factorial program | 
| 2 // (including a tail recursive version) | |
| 2 | 3 | 
| 3 def facT(n, acc) = if n == 0 then acc else facT(n - 1, n * acc); | |
| 4 | 4 | 
| 5 facT(15, 1) | 5 def fact(n) = | 
| 6 if n == 0 then 1 else n * fact(n - 1); | |
| 6 | 7 | 
| 7 //fact(15) | 8 def facT(n, acc) = | 
| 9 if n == 0 then acc else facT(n - 1, n * acc); | |
| 8 | 10 | 
| 11 def facTi(n) = facT(n, 1); | |
| 12 | |
| 13 //fact(10) | |
| 14 //facTi(10) | |
| 15 | |
| 16 write(facTi(5 + 5)) | |
| 17 |