Los módulos en cohetes
- O(2ⁿ) · Legendaria
- Plan completo
- Python
- JavaScript
- recursión
- listas
- booleanos
- división
Enunciado
La estación espacial se va a armar en órbita, y sus módulos suben en varios cohetes que despegan juntos. Svetlana Orlova, la jefa de la misión, tiene una condición: todos los cohetes tienen que llevar exactamente la misma masa, ni un kilo más ni uno menos.
Escribe una función que reciba modulos, una lista con la masa de cada módulo (enteros positivos, al menos uno, puede haber repetidos), y cohetes, un entero de 1 en adelante. Cada módulo va entero en un solo cohete y tienen que subir todos. Regresa verdadero si se pueden repartir de modo que todos los cohetes lleven la misma masa, y falso si no.
Con [9, 3, 4, 3, 4, 1, 6] y 3 cohetes sí se puede: 9 y 1 en uno, 3, 3 y 4 en otro, y 4 y 6 en el último; cada uno lleva 10. Con [2, 2, 2, 3] y 3 cohetes cada uno tendría que llevar 3, pero un 2 no tiene con qué completar: no se puede.
Ejemplos
El ejemplo
[9, 3, 4, 3, 4, 1, 6], 3 → true
Un módulo no tiene con qué completar
[2, 2, 2, 3], 3 → false
Dos cohetes
[3, 3, 2, 2, 2], 2 → true
La masa no se divide parejo
[4, 5, 6], 2 → false
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def se_reparten(modulos, cohetes):
passJavaScript
function seReparten(modulos, cohetes) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.
Más retos de O(2ⁿ)
- Los quirófanos del lunesrecursión · listas · comparaciones
- Los remeros de Puntrecursión · listas · comparaciones
- Los votos de la Hansarecursión · listas · comparaciones
- Miel a mediasrecursión · listas · comparaciones
- Ritmos sin choquerecursión · textos · listas
- El collar que sale de los dosrecursión · textos · índices