Dado um conjunto de n
elementos, o desafio é escrever uma função que lista todas as combinações de k
elementos deste conjunto.
Exemplo
Set: [1, 7, 4]
Input: 2
Output: [1,7], [1,4], [7,4]
Exemplo
Set: ["Charlie", "Alice", "Daniel", "Bob"]
Input: 2
Output ["Daniel", "Bob"], ["Charlie", "Alice"], ["Alice", "Daniel"], ["Charlie", "Daniel"], ["Alice", "Bob"], ["Charlie", "Bob"]
Regras (editadas)
- A ordem da saída é de sua escolha.
- A entrada pode ser qualquer tipo de dado. Mas a saída deve ser do mesmo tipo que a entrada. Se a entrada for uma lista de números inteiros, a saída também deverá ser uma lista de números inteiros. Se a entrada for uma string (matriz de caracteres), a saída também deverá ser uma string.
- O código deve funcionar com qualquer número de variáveis de entrada.
- Você pode usar qualquer linguagem de programação.
- A resposta deve ser capaz de usar qualquer coisa (string, int, duplo ...) como entrada e saída também.
- Quaisquer funções integradas relacionadas a combinações e permutações são proibidas.
- O menor código vence (em termos de bytes).
- Desempate: votos.
- Duração: 1 semana.
PS Cuidado com as entradas extremas , como números negativos, 0, etc.
combos('ab', 1) -> ['a', 'b']
válido?