2012年11月26日

compute the n'th fibonacci number in Ocaml

摘要: 计算斐波那契数,最简单的计算当然是按照定义来求解了,f0=0, f1=1, fn = fn-1 + fn-2。直接递归实现的话效率比较地下,可以考虑使用迭代的方法来求解。代码如下1 let fib n =2 let rec fib_int a b count =3 if count = 1 then a else fib_int (a+b) a (count-1)4 in5 if n = 0 then 0 else fib_int 1 0 n ;;里面使用了一个fib_int的内部过程来模拟循环。 阅读全文

posted @ 2012-11-26 21:31 mathlover 阅读(288) 评论(0) 推荐(0) 编辑

qsort for ocaml

摘要: 其实跟scheme很类似的表操作,实现起来也比较容易。1 let rec qsort cmp lst =2 match lst with3 | [] -> []4 | h::r ->5 let less = List.filter (fun i -> (cmp i h) < 0) r in6 let great = List.filter (fun i -> not ((cmp i h) < 0)) r in7 (qsort cmp less) @ ( h::(qsort cmp gre... 阅读全文

posted @ 2012-11-26 19:46 mathlover 阅读(162) 评论(0) 推荐(0) 编辑

导航