フィボナッチ数を返す関数

フィボナッチ数 - Wikipedia
引数で与えた数のフィボナッチ数を求める。
デフォルトは10。
あんまり大きい数を与えると時間がかかるみたい。
50で試してみたらずっと止まってた( ´・ω・`)

def fibonacci(n)
  return 1 if n == 1 or n == 2
  fibonacci(n-2) + fibonacci(n-1)
end

n = ARGV[0] || 10
n = n.to_i
if n < 1
  puts "1以上の整数を入力して下さい。"
  exit
end
puts "Fibonacci(#{n}) = #{fibonacci(n.to_i)}"