1 #!/usr/local/bin/ruby
2 # encoding: utf-8
3 def fib(n)
4 case n
5 when 0
6 0
7 when 1
8 1
9 else
10 fib(n-2) + fib(n-1)
11 end
12 end
13
14
15 def fibo2(a=0, b=1, n)
16 if n == 0
17 a
18 else
19 fibo2(a+b, a, n-1)
20 end
21 end
22
23 range = 0..100
24 t = Time.now
25 p range.map { |i| fibo2 i } # => [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
26 p Time.now - t # =>
27 t = Time.now
28 p range.map { |i| fibo i } # => [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
29 p Time.now - t # =>
No comments:
Post a Comment