Dado un conjunto de nelementos, el desafío es escribir una función que enumere todas las combinaciones de kelementos de este conjunto.
Ejemplo
Set: [1, 7, 4]
Input: 2
Output: [1,7], [1,4], [7,4]
Ejemplo
Set: ["Charlie", "Alice", "Daniel", "Bob"]
Input: 2
Output ["Daniel", "Bob"], ["Charlie", "Alice"], ["Alice", "Daniel"], ["Charlie", "Daniel"], ["Alice", "Bob"], ["Charlie", "Bob"]
Reglas (editadas)
- El orden de salida es de su elección.
- La entrada puede ser cualquier tipo de datos. Pero la salida debe ser del mismo tipo que la entrada. Si la entrada es una lista de enteros, la salida también debería ser una lista de enteros. Si la entrada es una cadena (matriz de caracteres), la salida también debería ser una cadena.
- El código debería funcionar con cualquier número de variables de entrada.
- Puedes usar cualquier lenguaje de programación.
- La respuesta también debería poder usar cualquier cosa (string, int, double ...) como entrada y salida.
- Se prohíbe cualquier función integrada que esté relacionada con combinaciones y permutaciones.
- El código más corto gana (en términos de bytes).
- Desempate: votos.
- Duración: 1 semana.
PD Tenga cuidado con las entradas extremas como números negativos, 0, etc.
combos('ab', 1) -> ['a', 'b']válido?