Crie funções para calcular:
Permutação
Permutação
Passo 1
O enunciado pede para criarmos funções que calculem a permutação P(n), ou seja, o número de maneiras de ordenar n elementos. Isso está dentro do conteúdo de análise combinatória, e para resolvermos precisamos da definição de fatorial, já que P(n)=n!.
Passo 2
Vamos primeiro relembrar a definição de fatorial. Dizemos que
e para n ≥ 1
Essa definição recursiva nos dá base para implementar a função.
Passo 3
Uma forma de implementar o fatorial é via recursão. Em Python, por exemplo, faríamos:
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
Aqui, a função chama a si mesma até chegar a 0, retornando 1, e vai subindo multiplicando cada n.
Passo 4
Agora que temos
, definimos a função de permutação P(n) simplesmente chamando o fatorial. Em Python:
def permutation(n):
return factorial(n)
Assim,
fica encapsulado nessa função.
Passo 5
Se quisermos uma versão iterativa (sem recursão), podemos escrever o fatorial assim:
def factorial_iterative(n):
result = 1
for i in range(1, n+1):
result *= i
return result
E a permutação continua:
def permutation_iterative(n):
return factorial_iterative(n)
Resposta
Versão recursiva
def factorial(n):
if n == 0:
return 1
return n * factorial(n-1)
if n == 0:
return 1
return n * factorial(n-1)
def permutation(n):
return factorial(n)
return factorial(n)
Versão iterativa
def factorial_iterative(n):
result = 1
for i in range(1, n+1):
result *= i
return result
result = 1
for i in range(1, n+1):
result *= i
return result
def permutation_iterative(n):
return factorial_iterative(n)
return factorial_iterative(n)