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.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, es posible escribir un código Python que imprima todas las combinaciones de números dados que pueden sumar un número específico. Un posible enfoque es utilizar la recursividad y el backtracking para generar todas las combinaciones posibles de números. Aquí hay un código de muestra que hace esto:

    def combinations_sum(numbers, target_sum, prefix=None):
        if prefix is None:
            prefix = []
        if sum(prefix) == target_sum:
            print(prefix)
        if sum(prefix) >= target_sum:
            return
        for i in range(len(numbers)):
            combinations_sum(numbers[i:], target_sum, prefix + [numbers[i]])
    
    # Ejemplo de uso
    numbers = [1, 2, 3] 
    target_sum = 6
    combinations_sum(numbers, target_sum)
    

    Este código genera de forma recursiva todas las posibles combinaciones de números e imprime aquellas que suman el objetivo dado. En el ejemplo de uso mostrado anteriormente, la salida será:

    [1, 1, 1, 1, 1, 1]
    [1, 1, 1, 1, 2]
    [1, 1, 1, 3]
    [1, 1, 2, 2]
    [1, 2, 3]
    [2, 2, 2]
    [3, 3]
    

    Como has notado, hay un total de 24 combinaciones para la entrada dada.

Comments are closed.