es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo escribir combinaciones y permutaciones a partir de 2 números n y k en Ruby/Python?

Por ejemplo, si tengo 100 perros distinguibles y quiero elegir aleatoriamente 3 de ellos. Con una calculadora de bolsillo, haría 100C3 o algo similar. ¿Cómo puedo hacer esto en Ruby y Python?

Edición 1: Mis preguntas fueron resueltas gracias a las soluciones de Razvans y Riccardo Bucco. (Lancé una moneda al aire una vez para decidir a quién le daría una marca de verificación y a quién le daría un voto positivo).

Gracias a todos.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    En Ruby, puedes usar el método combination(n) en un array para obtener todas las combinaciones de tamaño n. Por ejemplo, para obtener todas las combinaciones de 3 perros de un grupo de 100, podrías hacer lo siguiente:

    dogs = (1..100).to_a  # crea un array de 100 perros, numerados del 1 al 100
    combinations = dogs.combination(3).to_a  # obtén todas las combinaciones de 3 perros
    

    En Python, puedes utilizar la función combinations(iterable, r) del módulo itertools para obtener todas las combinaciones de tamaño r. Por ejemplo, para obtener todas las combinaciones de 3 perros de un grupo de 100, puedes hacer lo siguiente:

    import itertools
    
    dogs = list(range(1, 101)) # crea una lista de 100 perros, numerados del 1 al 100
    combinations = list(itertools.combinations(dogs, 3)) # obtén todas las combinaciones de 3 perros
    

    Ambas soluciones te darán una lista de tuplas, donde cada tupla contiene los números de los perros en la combinación. Si quieres obtener los propios perros, puedes asignar los números a sus nombres u otros atributos.

Comments are closed.