none
gerador de combinações RRS feed

  • Pergunta

  • Olá;

    Fiz todas as combinações possíveis de 25 dezenas agrupadas de 5 em 5

    Agora preciso combinar cada uma das 53312 combinações resultantes (cada célula da coluna possui as 5 dezenas sem separação) entre si, novamente em grupos de 5 em 5 (cada combinação resultante terá então as 25 dezenas)

    Poderia me ajudar com a macro que rodaria isso para mim?

    Abraço

    domingo, 2 de outubro de 2016 00:04

Respostas

  • Tereza, 25C5 são 53.130 combinações e não 53.312. Se entendi o que você esta querendo, me parece que você quer combinar então as 53.130 5 a 5?

    É isso?

    Vai resultar 3.527248759 x 10²¹ combinações. São combinações que não tem fim. Creio que não caberão na planilha do Excel.

    Te passarei uma macro em VBA que faz as combinações 25C15. Resultará em 3.268.760 que são todas as combinações possíveis na Loto-Fácil.

    sub combinacoes

     sheets("Plan1")Select

                                                                                                  

    a = 1:b= 2:c = 3:d = 4:e = 5:f = 6:g = 7:h = 8:i = 9:j = 10:k = 11:l = 12:m = 13:n = 14:o = 15

                    

    linha=1
    While a <= 11
     While b <= 12
      While c <= 13
       While d <= 14
        While e <= 15
         While f <= 16
          While g <= 17
           While h <= 18
            While i <= 19
             While j <= 20
              While k <= 21
               While l <= 22
                While m <= 23
                 While n <= 24
                  While o <= 25

                    Range("A" & linha)=a
    Range("B" & linha)=b
    Range("C" & linha)=c
                    Range("D" & linha)=d
    Range("E" & linha)=e
    Range("F" & linha)=f
                    Range("G" & linha)=g 
                    Range("H" & linha)=h  
                    Range("I" & linha)=i            
    Range("J" & linha)=j
    Range("K" & linha)=k
    Range("L" & linha)=l
                    Range("M" & linha)=m
    Range("N" & linha)=n
    Range("O" & linha)=o

    linha=linha+1

    o = o + 1
                                 Wend
                               n = n + 1
                               o = n + 1
                               Wend
                             m = m + 1
                             n = m + 1
                             o = n + 1
                             Wend
                           l = l + 1
                           m = l + 1
                           n = m + 1
                           o = n + 1
                           Wend
                         k = k + 1
                         l = k + 1
                         m = l + 1
                         n = m + 1
                         o = n + 1
                         Wend
                       j = j + 1
                       k = j + 1
                       l = k + 1
                       m = l + 1
                       n = m + 1
                       o = n + 1
                      Wend
                    i = i + 1
                    j = i + 1
                    k = j + 1
                    l = k + 1
                    m = l + 1
                    n = m + 1
                    o = n + 1
                    Wend
                  h = h + 1
                  i = h + 1
                  j = i + 1
                  k = j + 1
                  l = k + 1
                  m = l + 1
                  n = m + 1
                  o = n + 1
                  Wend
                g = g + 1
                h = g + 1
                i = h + 1
                j = i + 1
                k = j + 1
                l = k + 1
                m = l + 1
                n = m + 1
                o = n + 1
                Wend
              f = f + 1
              g = f + 1
              h = g + 1
              i = h + 1
              j = i + 1
              k = j + 1
              l = k + 1
              m = l + 1
              n = m + 1
              o = n + 1
              Wend
            e = e + 1
            f = e + 1
            g = f + 1
            h = g + 1
            i = h + 1
            j = i + 1
            k = j + 1
            l = k + 1
            m = l + 1
            n = m + 1
            o = n + 1
            Wend
          d = d + 1
          e = d + 1
          f = e + 1
          g = f + 1
          h = g + 1
          i = h + 1
          j = i + 1
          k = j + 1
          l = k + 1
          m = l + 1
          n = m + 1
          o = n + 1
          Wend
        c = c + 1
        d = c + 1
        e = d + 1
        f = e + 1
        g = f + 1
        h = g + 1
        i = h + 1
        j = i + 1
        k = j + 1
        l = k + 1
        m = l + 1
        n = m + 1
        o = n + 1
        Wend
      b = b + 1
      c = b + 1
      d = c + 1
      e = d + 1
      f = e + 1
      g = f + 1
      h = g + 1
      i = h + 1
      j = i + 1
      k = j + 1
      l = k + 1
      m = l + 1
      n = m + 1
      o = n + 1
      Wend
    a = a + 1
    b = a + 1
    c = b + 1
    d = c + 1
    e = d + 1
    f = e + 1
    g = f + 1
    h = g + 1
    i = h + 1
    j = i + 1
    k = j + 1
    l = k + 1
    m = l + 1
    n = m + 1
    o = n + 1
    Wend

    end sub

    domingo, 2 de outubro de 2016 03:27

Todas as Respostas

  • Tereza, 25C5 são 53.130 combinações e não 53.312. Se entendi o que você esta querendo, me parece que você quer combinar então as 53.130 5 a 5?

    É isso?

    Vai resultar 3.527248759 x 10²¹ combinações. São combinações que não tem fim. Creio que não caberão na planilha do Excel.

    Te passarei uma macro em VBA que faz as combinações 25C15. Resultará em 3.268.760 que são todas as combinações possíveis na Loto-Fácil.

    sub combinacoes

     sheets("Plan1")Select

                                                                                                  

    a = 1:b= 2:c = 3:d = 4:e = 5:f = 6:g = 7:h = 8:i = 9:j = 10:k = 11:l = 12:m = 13:n = 14:o = 15

                    

    linha=1
    While a <= 11
     While b <= 12
      While c <= 13
       While d <= 14
        While e <= 15
         While f <= 16
          While g <= 17
           While h <= 18
            While i <= 19
             While j <= 20
              While k <= 21
               While l <= 22
                While m <= 23
                 While n <= 24
                  While o <= 25

                    Range("A" & linha)=a
    Range("B" & linha)=b
    Range("C" & linha)=c
                    Range("D" & linha)=d
    Range("E" & linha)=e
    Range("F" & linha)=f
                    Range("G" & linha)=g 
                    Range("H" & linha)=h  
                    Range("I" & linha)=i            
    Range("J" & linha)=j
    Range("K" & linha)=k
    Range("L" & linha)=l
                    Range("M" & linha)=m
    Range("N" & linha)=n
    Range("O" & linha)=o

    linha=linha+1

    o = o + 1
                                 Wend
                               n = n + 1
                               o = n + 1
                               Wend
                             m = m + 1
                             n = m + 1
                             o = n + 1
                             Wend
                           l = l + 1
                           m = l + 1
                           n = m + 1
                           o = n + 1
                           Wend
                         k = k + 1
                         l = k + 1
                         m = l + 1
                         n = m + 1
                         o = n + 1
                         Wend
                       j = j + 1
                       k = j + 1
                       l = k + 1
                       m = l + 1
                       n = m + 1
                       o = n + 1
                      Wend
                    i = i + 1
                    j = i + 1
                    k = j + 1
                    l = k + 1
                    m = l + 1
                    n = m + 1
                    o = n + 1
                    Wend
                  h = h + 1
                  i = h + 1
                  j = i + 1
                  k = j + 1
                  l = k + 1
                  m = l + 1
                  n = m + 1
                  o = n + 1
                  Wend
                g = g + 1
                h = g + 1
                i = h + 1
                j = i + 1
                k = j + 1
                l = k + 1
                m = l + 1
                n = m + 1
                o = n + 1
                Wend
              f = f + 1
              g = f + 1
              h = g + 1
              i = h + 1
              j = i + 1
              k = j + 1
              l = k + 1
              m = l + 1
              n = m + 1
              o = n + 1
              Wend
            e = e + 1
            f = e + 1
            g = f + 1
            h = g + 1
            i = h + 1
            j = i + 1
            k = j + 1
            l = k + 1
            m = l + 1
            n = m + 1
            o = n + 1
            Wend
          d = d + 1
          e = d + 1
          f = e + 1
          g = f + 1
          h = g + 1
          i = h + 1
          j = i + 1
          k = j + 1
          l = k + 1
          m = l + 1
          n = m + 1
          o = n + 1
          Wend
        c = c + 1
        d = c + 1
        e = d + 1
        f = e + 1
        g = f + 1
        h = g + 1
        i = h + 1
        j = i + 1
        k = j + 1
        l = k + 1
        m = l + 1
        n = m + 1
        o = n + 1
        Wend
      b = b + 1
      c = b + 1
      d = c + 1
      e = d + 1
      f = e + 1
      g = f + 1
      h = g + 1
      i = h + 1
      j = i + 1
      k = j + 1
      l = k + 1
      m = l + 1
      n = m + 1
      o = n + 1
      Wend
    a = a + 1
    b = a + 1
    c = b + 1
    d = c + 1
    e = d + 1
    f = e + 1
    g = f + 1
    h = g + 1
    i = h + 1
    j = i + 1
    k = j + 1
    l = k + 1
    m = l + 1
    n = m + 1
    o = n + 1
    Wend

    end sub

    domingo, 2 de outubro de 2016 03:27
  • Primeiramente, obrigada pelo retorno

    É isso mesmo, Durval.

    Como as 5 dezenas de cada grupo estão na mesma célula, muitas não poderão ser agrupadas em uma mesma combinação, pois as dezenas se repetirão e isso não pode ocorrer, daí o número total de combinações ser bem menor do que o previsto nas suas contas.

    As combinações possíveis com dezenas separadas, já tenho, mas preciso dessas combinações dessa maneira que expliquei para atender a finalidade proposta.

    Tem alguma maneira de o programa analisar as dezenas dentro da célula para desprezar repetições de dezenas em uma mesma combinação?

    Abraço


    teresaabrahao


    segunda-feira, 3 de outubro de 2016 22:30
  • Tereza, faça um exemplo numérico mostrando como você quer que estas combinações sejam colocadas nas células.

    Por exemplo:

       celula A1      celula B1       celula C1

        12345         678910     1112131415

        celula A2      celula B2       celula C2

        12346          678911       1112131416

    quarta-feira, 5 de outubro de 2016 03:57
  • Olá;

    Todas as combinações possíveis das 25 dezenas estão na mesma coluna A; cada combinação em uma linha diferente (A1;A2;A3;A4...)

    Segue link da planilha ok?

    Abraço

    Teresa

    <iframe width="402" height="346" frameborder="0" scrolling="no" src="https://onedrive.live.com/embed?cid=A0522725B5D162D0&resid=A0522725B5D162D0%211971&authkey=AMUKQlD6N_JfAkU&em=2&wdAllowInteractivity=False&wdDownloadButton=True"></iframe>


    teresaabrahao

    quarta-feira, 5 de outubro de 2016 17:56
  • Link ´pe esse

    https://1drv.ms/x/s!AtBi0bUlJ1KgjzOAOU6Vst4DdW90


    teresaabrahao

    quarta-feira, 5 de outubro de 2016 17:57
  • Consultei e verifiquei que existem 53.132 combinações. Novamente volto a afirmar, são 53.130, as 2 últimas entraram na planilha não sei como, e estão erradas. A primeira combinação é 01 02 03 04 05 e a última tem que ser: 21 22 23 24 25.

    25C5=25!/((25-5)!x5!) = 53.130

    01 - Você quer que as 25 dezenas da primeira combinação fiquem numa única célula?

    02 - Escreva como seria a primeira e a segunda combinação para poder ter uma noção clara do que você pretende.

    Abraço / Durval

    quinta-feira, 6 de outubro de 2016 02:27
  • Olá, Durval;

    Os 5 grupos que comporão as combinações resultantes podem ficar na mesma célula ou em 5 células, do jeito que ficar mais fácil.

    Grupos que possuam algum número igual NÃO poderão participar da mesma combinação para não haver repetição de números (nesse ponto que o número de combinações possíveis diminuirá)

    O exemplo a seguir é apenas para demonstrar a forma, pois peguei apenas 5 grupos que não firam o que descrevi acima.

    1ª combinação 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    2ª combinação 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 10
    3ª combinação 01 02 03 04 05 06 07 08 09 10 13 14 15 16 17 19 20 21 22 23  11 12 18 24 25


    teresaabrahao

    quinta-feira, 6 de outubro de 2016 19:04
  • Tereza, analisei as:

    1ª combinação 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
    2ª combinação 01 02 03 04 05 06 07 08 09 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 10
    3ª combinação 01 02 03 04 05 06 07 08 09 10 13 14 15 16 17 19 20 21 22 23  11 12 18 24 25

    e mesmo assim não consegui entender qual lógica seguir.

    Abraço / Durval

    quinta-feira, 6 de outubro de 2016 22:13
  • Alterei princípio do processo para:

    Peguei todas as combinações possíveis com as 25 dezenas = aproximadamente mais de 3 milhões de combinações

    Quero que cada uma dessas combinações sejam divididas em grupos de 5 dezenas = 3 grupos para cada combinação possível

    Depois que isso for feito, teremos de acrescentar 2 grupos de 5 dezenas em cada resultado obtido; assim teremos  o mesmo resultado que eu quero

    Exemplo:


    teresaabrahao

    segunda-feira, 31 de outubro de 2016 18:36