Faça uma função recursiva que receba um número inteiro positivo impar N e retorne o fatorial duplo desse número. O fatorial duplo é definido como o produto de todos os números naturais ímpares de 1 até algum número natural ímpar N . Assim, o fatorial duplo de 5 é
5!!=1 * 3 * 5=15

Passo 1

O enunciado pede uma função recursiva que receba um inteiro ímpar positivo N e retorne seu fatorial duplo, ou seja, o produto de todos os ímpares de 1 até N.

Passo 2

Em recursão precisamos identificar o caso base e o caso recursivo. Como N é ímpar e positivo, o menor valor possível é 1, então nosso caso base será quando N for igual a 1.

Passo 3

No caso base, se N == 1, sabemos que 1!! = 1, então retornamos 1. No caso recursivo, para N > 1, usamos a definição
fatorialDuplo(N) = N * fatorialDuplo(N - 2)
pois subtraímos 2 para percorrer apenas os números ímpares.

Passo 4

Com base nisso, basta traduzir para código a seguir: verificar se N == 1 e retornar 1; caso contrário, retornar N multiplicado pela chamada recursiva com N - 2.

Resposta

função fatorialDuplo(N: inteiro): inteiro {
se N = 1 então
retorne 1
senão
retorne N * fatorialDuplo(N - 2)
}

Exercícios relacionados