小编use*_*649的帖子

阶乘函数的尾递归实现

我正在读杰森的书,不太明白以下程序:

let fact2 i =
    let rec loop accum i =
        if i = 0 then 
            accum
        else
            loop (i * accum) (i - 1)
    in
        loop 1
Run Code Online (Sandbox Code Playgroud)
  1. 累加器是如何初始化的?
  2. 最后两行(即在循环 1 中)的含义是什么?循环有两个参数。为什么这里只传递一个(即循环1)。

非常感谢!!!

ocaml tail-recursion factorial

2
推荐指数
1
解决办法
1981
查看次数

标签 统计

factorial ×1

ocaml ×1

tail-recursion ×1