【发布时间】:2011-04-13 22:54:21
【问题描述】:
所以下面是我写的代码,尾调用使用累加变量优化
let rec counter init count =
if init = 1 then count + 1 else
match init with
| Even value -> (counter (value/2) (1 + count))
| Odd value -> (counter ((3 * value) + 1) (count+1))
let SeqBuilder (initval:int) : int =
counter initval 0
我如何记住这个?我在尝试记忆时遇到的问题是递归调用必须转到记忆对象,所以你必须有一个......递归对象?
还是简单很多,我只是缺乏经验?
【问题讨论】:
标签: f# memoization