Quiero saber como puedo obtener combinaciones de nueros factoriales del 1 al 25 existe un programa para generar combinaciones

Necesito obtener esas combinaciones para luego imprimir una a una por separado. Me puedeayudar

1 respuesta

Respuesta

Un numero factorial es la multiplicación de todos los números dentro de un rango por ejemplo 4!=4*3*2*1=24, a que te refieres con combinaciones?, ¿Puedes poner un ejemplo?, una combinación es una secuencia de números únicos dentro de un rango y una tamaño de la combinación por ejemplo una combinación para 5 números con un arreglo de 2 números únicos da como resultado 10 combinaciones.

De nuevo respondiendo a mi inquietud: mi necesidad es que quiero hacer combinaciones con 25 números formados en grupos de 5 cifras sin que se repitan ya se que al aplicar la fórmula puedo obtener 51310 combinaciones y quiero formar esas 51.310 combinaciones en una hoja de excel una a una por separado para luego imprimir cada combinación. Espero que esta vez me entiendas y gracias. Si debo cancelar algún dinero por el trabajo indíqueme que cantidad es. Muchas gracias y sigo a la espera.

Prueba esta macro te genera todas las combinaciones que quieres tarda más o menos en un equipo obsoleto 14 segundos en uno más moderno tardara la mitad de ese tiempo o menos

Sub genera_combinaciones()
Dim numeros As Byte, arreglos As Byte
Dim INICIO As Date, FIN As Date
Dim combinaciones As Long, X As Long, TIEMPO As Single
Dim funcion As WorksheetFunction
Set funcion = WorksheetFunction
Dim COMBOS As Range, MATRIZ() As Variant
INICIO = Time
numeros = 25:  arreglos = 5
combinaciones = funcion.Combin(numeros, arreglos)
MsgBox ("COMBINACIONES A GENERAR " & combinaciones), _
vbInformation, "AVISO"
Set COMBOS = Range("B2").Resize(combinaciones, arreglos)
MATRIZ = COMBOS
X = 1
For A = 1 To numeros
    For B = 2 To numeros
        For C = 3 To numeros
            For D = 4 To numeros
                For E = 5 To numeros
                    If B > A And C > B And D > C And E > D Then
                        MATRIZ(X, 1) = A
                        MATRIZ(X, 2) = B
                        MATRIZ(X, 3) = C
                        MATRIZ(X, 4) = D
                        MATRIZ(X, 5) = E
                        X = X + 1
                    End If
                Next E
            Next D
        Next C
    Next B
Next A
With COMBOS
    Range(.Address) = MATRIZ
    .EntireColumn.AutoFit
End With
set combos=nothing
FIN = Time
TIEMPO = FIN - INICIO
MsgBox (combinaciones & " GENERADAS EN " & Second(TIEMPO) & " SEGUNDOS"), _
vbInformation, "AVISO"
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas