Problem:
MathJax.Hub.Config({ tex2jax: { inlineMath: [["$","$"], ["\\(","\\)"]], processEscapes: true }});

Fibonacci Number

Write a program which prints $n$-th fibonacci number for a given integer $n$. The $n$-th fibonacci number is defined by the following recursive formula:

\begin{equation*}
fib(n)= \left \{
\begin{array}{ll}
1　 & (n = 0) \\
1　 & (n = 1) \\
fib(n - 1) + fib(n - 2) & \\
\end{array}
\right.
\end{equation*}

Input

An integer $n$ is given.

output

Print the $n$-th fibonacci number in a line.

Constraints

$0 \leq n \leq 44$

Sample Input 1

3

Sample Output 1

3

Solution in Ruby (judge verdict: Accepted)

#!/usr/bin/ruby
# -*- coding: utf-8 -*-
=begin
Discussion Solution Statistics Submit

Dynamic Programming - Fibonacci Number
Time Limit : 1 sec, Memory Limit : 65536 KB
=end
class Fib
  def initialize
    @fib = Hash.new
  end

  def fib(i)
    if @fib.key?(i) then
      @fib[i]
    elsif i==0 then
      @fib[0] = 1
    elsif i==1 then
      @fib[1] = 1
    else
      @fib[i] = fib(i-1) + fib(i-2)
    end
  end

end

class Main

  def initialize()
    fh=STDIN
    n = fh.gets.to_i
    f = Fib.new
    puts f.fib(n)
  end

end

if $0 == __FILE__ then
  Main.new
end