Fatorial
O fatorial é uma operação matemática, denotada pelo símbolo $\large !$ que consiste no produto de todos os números inteiros positivos, a partir do número não negativo dado, até o número 1.
Ele é usado para calcular o número de maneiras diferentes de organizar um conjunto de objetos ou realizar uma determinada tarefa, sendo uma operação fundamental em muitas áreas da matemática, como combinações, permutações, probabilidade, séries e análise combinatória.
Exemplo
Dessa forma, se você deseja saber quantas maneiras diferentes 5 pessoas podem se sentar em uma fila, basta calcular o fatorial de 5.
$$\large 5! = 5 \cdot 4 \cdot 3 \cdot 2 \cdot 1 = 120$$
Importante
$$\large O\ fatorial\ de\ 0\ é\ 1,\ ou\ seja,\ 0! = 1$$
Python:
def prod(lista):
res = lista[0]
for num in lista[1:]:
res *= num
return res
# numeroFatorial é o fatorial buscado, por exemplo 5!
lista_reversa = list(reversed([x for x in range(1, numeroFatorial + 1)]))
produto = prod(lista_reversa)
print(produto)
' Com o uso da biblioteca functools '
from functools import reduce
# numeroFatorial é o fatorial buscado, por exemplo 5!
lista_reversa = list(reversed([x for x in range(1, numeroFatorial + 1)]))
produto = reduce(lambda x, y: x * y, lista, 1)
print(produto)
Julia:
# numeroFatorial é o fatorial buscado, por exemplo 5!
produto = factorial(numeroFatorial)
println(produto)
# numeroFatorial é o fatorial buscado, por exemplo 5!
produto = prod(reverse(1:numeroFatorial))
println(produto)
Libs:
Quando usar o fatorial:
- Quando precisar calcular todas as permutações (arranjos) possíveis de $\large n$ objetos.
- Quando estiver resolvendo problemas de combinatória envolvendo escolhas, subconjuntos ou organização.
- Quando trabalhar com problemas que usam as fórmulas de permutações $(P(n,r))$, combinações $(C(n,r))$ ou ajustes para repetições.
Fatorial Duplo
Já o fatorial duplo é uma operação matemática, denotada pelo símbolo $\large !!$ que consiste no produto dos números inteiros positivos pares (se o número dado for par, até o menor número par, o 2), e ímpares (se o número dado for ímpar, até 1).
É utilizado principalmente em anáilise combinatória para contar o número de maneiras de particionar um conjunto em subconjuntos não vazios. O fatorial duplo pode ser utilizado em algumas áreas da física e da estatística, como na mecânica estatística e na teoria das probabilidades.
Exemplos
$$\large 4!! = 4 \cdot 2 = 8$$
$$\large 5!! = 5 \cdot 3 \cdot 1 = 15$$
Importante
$$O\ fatorial\ duplo\ de\ 0\ é\ definido\ como\ 1,\ ou\ seja,\ 0!! = 1$$
$$O\ fatorial\ duplo\ de\ 1\ é\ simplesmente\ 1,\ ou\ seja,\ 1!! = 1$$
Python:
# Definindo qual número (1 ou 2) será somado à lista de numeros
def par_ou_impar(num):
if num % 2 == 0:
adicional = 2
else:
adicional = 1
return adicional
# Descobrindo o produto dos elementos
def prod(lista):
res = lista[0]
for num in lista[1:]:
res *= num
return res
num = 5
lista = list(map(lambda x: x + par_ou_impar(num), reversed(list(range(0, num, 2)))))
print(prod(lista))
Julia:
prod(x:-2:1)
Libs:
Deixe um comentário