gpt4 book ai didi

ocaml - 阶乘函数的尾递归实现

转载 作者:行者123 更新时间:2023-12-05 08:58:57 26 4
gpt4 key购买 nike

我正在阅读 jason 的书,但不太了解以下程序:

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

非常感谢!!!

最佳答案

我认为这是实现中的一个错误。最后一行应该是

loop 1 i

整数 1 从 loop 函数初始化 accumi 在同一函数中初始化 i

关于ocaml - 阶乘函数的尾递归实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com