Ir al contenido principal

Funcion de Ackerman en C++

En teoría de la computación, la función de Ackermann es una función recursiva que toma dos números naturales como argumentos y devuelve un único número natural. Como norma general se define como sigue:


Implementación

Comentarios

  1. cuando se hace de manera iterativa existe el inconveniente de que los valores de m y n crecen rapidamente y por consecuencia no existe una variable que pueda almacenar semejantes valores.

    una posible solucion es crear un "artificio" para poder escalar los resultados a valores inferiores usando algun tipo de notacion a la convencional. o algo asi como la representaciond de un numero en notacion cientifica.

    ResponderEliminar
  2. Gracias viejo, me sirvió para la U!

    ResponderEliminar
  3. Cual seria la soluccion en forma iterativa

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Deploy a Heroku con Laravel 5

Autómata Finito Determinista - Código C++

En esta ocasión les traigo la implementación de un AFD en lenguaje C++. Un autómata finito determinista es una quíntupla que denotaremos de manera genérica por M=(Q,Σ,q0,δ,F) , donde: Q es un conjunto finito cuyos elementos llamaremos estados.  Σ es un alfabeto que llamamos alfabeto de entrada.  q0∈Q es un estado señalado que llamamos estado inicial.  F es un subconjunto de Q no vacío, cuyos elementos llamamos estados finales.  δ es una aplicación de Q×Σ→Q , que llamamos función de transición.  Para la implementación se utiliza una matriz de transición convirtiendo los símbolos y letras del alfabeto en indices de la matriz donde los estados son las FILAS y los símbolos son las COLUMNAS, por ejemplo: Tenemos un alfabeto Σ = {a, b, c}, entonces en la matriz de transición tomara la letra 'a' como indice 0 , letra 'b' indice 1 y letra 'c' indice 2. Lo mismo seria para las transiciones, pero allí no interesa que letra representa si no cuantos estados...

Simulador de crecimiento L-System 2D - OpengL

Los sistemas L-Systems representan una herramienta poderosa para simular el crecimiento de formas complejas y orgánicas y en esta implementación haremos un enfoque técnico para generar estructuras visuales fascinantes.  Originarios de la teoría de la gramática formal, los L-Systems describen el crecimiento de patrones mediante reglas recursivas simples, lo que los convierte en una herramienta valiosa para simular el crecimiento de plantas y otros fenómenos naturales en entornos virtuales. En este artículo, exploraremos cómo implementar sistemas L-Systems en Java para simular específicamente el crecimiento de una planta. Analizaremos la lógica detrás de la generación de ramas, hojas y tallos, utilizando reglas de producción adaptadas para simular el crecimiento orgánico. Además, exploraremos técnicas de renderizado en Java para visualizar el proceso de crecimiento de la planta, desde la generación inicial hasta el resultado final.  Capturas de pantalla: Código d...