Chinaunix
标题:
谁会算斐波那契数列
[打印本页]
作者:
patagonia2
时间:
2016-05-22 14:28
标题:
谁会算斐波那契数列
求斐波那契数列最快算法
大家可以求Fibonacci的第100项试试,
感受一下这样递归会慢到什么程度。
在我的机器上,
运行了1个多小时也没有结果。
%-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().
复制代码
求大圣的高效写法。
作者:
patagonia2
时间:
2016-05-22 14:33
ER 是一门被设计用于编写并发、实时、分布式系统的新语言。
如何并发? 求斐波那契数列 ?
作者:
patagonia2
时间:
2016-05-23 16:07
本帖最后由 patagonia2 于 2016-05-23 16:17 编辑
觉得很不错 [fly]fly[/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().
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2