function ackermann(m, n) {
if (m === 0) return n + 1;
if (n === 0) return ackermann(m - 1, 1);
return ackermann(m - 1, ackermann(m, n - 1));
}
console.log(ackermann(3, 4)); // 125 📥 Inputs:
❓ ¿Cuál es el output?
Ingresa tu respuesta abajo
💡 Explicación
La función de Ackermann, definida por Wilhelm Ackermann en 1928, crece tan rápidamente que ackermann(4, 2) ya produce un número con más de 19,000 dígitos. Es computable (podemos programarla) pero no es primitiva recursiva porque su crecimiento supera cualquier función construida con recursión simple y composición. Es famosa en teoría de la computación por demostrar que existen funciones computables que no pueden expresarse con recursión primitiva. ¡Nunca intentes calcular ackermann(5, 5) a menos que tengas toda la eternidad! ⏳
¿Verdadero o Falso? 🤔