def fibonacci_memo(n, memo = {})
  return n if n <= 1
  memo[n] ||= fibonacci_memo(n - 1, memo) + fibonacci_memo(n - 2, memo)
end

puts fibonacci_memo(50) # خروجی سریع‌تر نسبت به نسخه قبلی