谁会算斐波那契数列
求斐波那契数列最快算法{:yxh147:}大家可以求Fibonacci的第100项试试,
感受一下这样递归会慢到什么程度。
在我的机器上,
运行了1个多小时也没有结果。{:yxh54:} {:yxh54:}%-module(fibonacci).
-mode(native).
-define (PP (V), io:format ("~s = ~p~n", [??V, V])).
fibonacci (0) -> 0;
fibonacci (1) -> 1;
fibonacci (N) -> fibonacci (N - 1) + fibonacci (N - 2).
main(_) ->
F = fibonacci (100),
?PP (F),
halt().
求大圣的高效写法。 ER 是一门被设计用于编写并发、实时、分布式系统的新语言。
如何并发? 求斐波那契数列 ? {:yxh4:} 本帖最后由 patagonia2 于 2016-05-23 16:17 编辑
{:yxh5:} 觉得很不错 fly
哪一个比较好?%-module(fibonacci).
-define (PP (V, N), io:format ("~s ~p = ~p~n", [??V, N, V])).
fibonacci (A) when A < 2 -> A;
fibonacci (A) -> fibonacci (2, A + 1, 0, 1).
fibonacci (A, A, _, B) -> B;
fibonacci (A0, A, B, C) -> fibonacci (A0 + 1, A, C, B + C).
main(_) ->
N = 100,
Fib = fibonacci (N),
?PP (Fib, N),
halt().
页:
[1]