Uso de recursion y memoización