Red de conocimiento informático - Programación de la red - Problema de función recursiva

Problema de función recursiva

Pasos para resolver el problema:

1,ack(1,n)=ack(0,ack(1,n-1))+1=ack(1,n- 1 )+1;

De la fórmula recursiva: ack(1,n)=n+1;

2, ack(2,n)=ack(1,ack( 2,n-1))=ack(2,n-1)+2;

//Recursión

De la recurrencia: ack(2,n) =2n+3 ;

3,ack(3,n)=ack(2,ack(3,n-1))=2*ack(3,n-1)+3 // Fórmula recursiva

Es decir: ack(3,n)+3=2(ack(3,n-1)+3)

Obtener: ack(3,n)+ 3=(ack (3,1)+3) * 2^(n-1);

Y ack(3,1)=2ack(3,0)+3

ack(3 ,0)=a(2,1)=5

Entonces ack(3,1)=13;

Entonces ack(3,n)=2^ (n+3 ) -

3;

Entonces: ack(3,3)=61;

PD:

Este es el famoso Función de Ackerman, una función recursiva recursiva no primitiva típica. Cuando m <= 3, la recursividad y el cálculo como el mío anterior son muy simples, pero una vez que sea más grande, será muy problemático e incluso la computadora quedará completamente destruida. No se puede calcular.

Puedes consultar la información de la wiki para ver contenido relacionado:

/%E9%98%BF%E5%85%8B%E6%9B%BC%E5%87%BD %E6% 95%B8