我需要帮助来创建递归函数,该递归函数将递减为0,然后在F#中递归为3。
let rec countdownThenCountUp number goingup =
match number with
| number -> 0 goingup; true
| number -> >0 goingup; false
| number -> 3 goingup; done
答案 0 :(得分:2)
如果人们只是提供一个可行的解决方案,您将不会学到很多,因此,我将添加一些提示。
您定义递归函数for (int i = 0; i < prefix; i++)
的基本策略很好。但是,您的函数仅采用countdownThenCountUp
作为参数,这还不够。例如,当您致电:
number
该函数如何知道应递增还是递减?没有足够的信息!因此,您需要修改函数,使其具有额外的参数。您可以执行以下操作:
countdownThenCountUp 2
如果执行此操作,则函数中的逻辑需要大致:
let rec countdownThenCountUp number goingDown =
// (...)
大于零且number
为goingDown
,则倒数true
为零,则将number
设置为goingDown
进行递归调用false
为三,而number
为goingDown
,则停止您可以使用模式匹配或使用false
来实现条件-两者都可以正常工作。