Exercícios Resolvidos de Recursividade

Ver Teoria

Enunciado

Escreva uma função recursiva que calcule o número de grupos distintos com k pessoas que podem ser formados a partir de um conjunto de   n pessoas. A definição abaixo da função C o m b ( n , k ) define as regras:

  • C o m b n ,   k = n , se k = 1
  • C o m b n ,   k = 1 , se k = n
  • C o m b n ,   k =   C o m b n - 1 ,   k - 1 +   C o m b n - 1 ,   k , se 1 < k < n

Caso sejam passados valores de k e n que não estejam especificados nas condições acima, faça a função retornar 0.

Passo 1

Eae, tudo tranquilo?

Nessa questão, estamos trabalhando com conceitos de combinatória e, por isso, devemos trabalhar com valores inteiros, pois a combinação de termos é melhor definida dessa forma. Nesse contexto, vamos declarar a função c o m b com os dois argumentos, n e k , e o retorno do tipo i n t .

Passo 2

Agora, vamos colocar as condições iniciais que foram dadas. Caso k = 1 , a função retorna n e caso k = n , ela retorna 1 .

Passo 3

A seguir, vamos adicionar a relação de recorrência dessa função, que é dada por:

C o m b n ,   k =   C o m b n - 1 ,   k - 1 +   C o m b n - 1 ,   k , se 1 < k < n

Por fim, vamos acrescentar o caso de nenhuma das condições anteriores serem atendidas. Como foi definido no enunciado, caso isso aconteça, a função deve retornar 0 .

Resposta