Alguém pode me ajudar a resolver esse exercício de python ? sou iniciante e estou com bastante dificuldade

18/04/2021

8

A análise combinatória é uma área da matemática muito utilizada para cálculo de probabilidades.
Dentro dessa área, é possível calcular quantos grupos diferentes podem ser formados considerando n
elementos e considerando que esses elementos são agrupados com k elementos por grupo, onde k é
menor ou igual a n. Se a ordem dentro do grupo é importante, então dizemos que queremos calcular
o arranjo para n elementos tomados k a k (An,k). Se a ordem não é importante, então dizemos que
queremos calcular a combinação para n elementos tomados k a k (Cn,k). Por exemplo, quantos grupos
podemos formar com dois elementos (a e b) tomados dois a dois? Considerando o arranjo, podemos
formar os grupos ab e ba, ou seja, dois grupos. Considerando a combinação, ab seria equivalente a ba,
pois a ordem não importa. Logo, considerando combinação, somente um grupo pode ser formado. O
arranjo e a combinação podem ser calculados da seguinte forma:

An,k = n!/(n-k)!
; Cn,k = n!/k!(n-k)! = 1/k Ank


Nessa questão você deve escrever três funções em Python: a primeira recebe um
número inteiro e maior ou igual a zero por argumento e retorna o seu fatorial; a segunda recebe n e k (n ≥ k), inteiros e positivos, por argumento (nessa ordem) e retorna
o arranjo de n elementos tomados k a k (An,k); e a terceira recebe n
e k (n ≥ k), inteiros e positivos, por argumento (nessa ordem) e retorna a combinação dos n
elementos tomados k a k (Cn,k). A função para cálculo do arranjo deve chamar a primeira função para calcular os fatoriais da fórmula. A função para cálculo da combinação,
por outro lado, deve chamar tanto a função que calcula o fatorial (para encontrar k!), quanto a função
que calcula o arranjo (para o outro termo da fórmula). Ou seja, a segunda chama a função que calcula
o fatorial; e a terceira chama a segunda e a função que calcula o fatorial. Em ambos os casos,
os valores retornados através das chamadas das funções devem ser utilizados para calcular o valor de
retorno da função que fez a chamada. Obs.: por definição, o fatorial de 0 é igual a 1.

OBS: Só pode usar estrutura de repetição While. Não é pra usar For.
não utilize nenhum método ou função já existente do Python exceto pelo print, type, len e append
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar