Faça uma função recursiva que receba um número inteiro positivo Ne e retorne o fatorial exponencial desse número. Um fatorial exponencial é um inteiro positivo N elevado à potência de N-1, que por sua vez é elevado à potência de N-2 e assim em diante. Ou seja,
n^(n-1)^(n-2) cdots

Passo 1

A questão pede uma função recursiva que calcule o “fatorial exponencial” de um inteiro positivo N, definido como uma torre de potências decrescente: n^(n-1)^(n-2)^cdots^1. Vamos usar recursão e a operação de exponenciação.
Em recursão a gente precisa de dois elementos: base e passo recursivo. A base interrompe a chamada recursiva; o passo aplica a definição recursiva.

Passo 2

A base ocorre quando n=1. Nesse caso não há mais expoentes abaixo, então definimos:
f(1) = 1

Passo 3

Para n>1, a definição diz que primeiro se calcula o fatorial exponencial de n-1 e depois se eleva n a esse resultado. Formalmente:
f(n) = n^,f(n-1), n>1

Passo 4

Com essa definição clara, basta traduzir para a linguagem de programação. No exemplo abaixo usamos Python, mas a ideia é a mesma em qualquer linguagem com recursão e exponenciação.

Passo 5

Aqui está a implementação da função recursiva em Python:
def fatorial_exponencial(n):
if n == 1:
return 1
else:
return n ** fatorial_exponencial(n-1)

Resposta

def fatorial_exponencial(n):
if n == 1:
return 1
else:
return n ** fatorial_exponencial(n-1)

Exercícios relacionados