Jump to content

Gabrielbdec

Members
  • Content count

    1
  • Joined

  • Last visited

Community Reputation

0 Comum

About Gabrielbdec

  1. Boa noite, Eu precisava de uma ajuda em encontrar uma lógica para resolver meu problema. Tenho certeza que qualquer programação seria possível. Eu tenho 5 espaços. _ _ _ _ _ Cada um desses espaços vai um número de 0 a X. Esse X é dado pelo usuário (inteiro). O problema é que tem de ser feita uma distribuição desses espaços em X. Ou seja, a soma de todos os espaços tem de ser exatamente X. Exemplo: 1 -> 1000/01000/00100/00010/00001 2 -> 2000/11000/10100/10010/10001/02000/01100/01010/01001/00200/00110/00101/00020/00011/00002 E assim se segue. Eu coloquei um contador que rodava como se fosse um relógio digital e ele só fazia a minha função o momento que ele somava e conseguia o X, como segue abaixo: Do While t <> (x + 1) v = v + 1 If v = (x + 1) Then m = m + 1 v = 0 End If If m = (x + 1) Then l = l + 1 m = 0 v = 0 End If If l = (x + 1) Then e = e + 1 l = 0 m = 0 v = 0 End If If e = (x + 1) Then t = t + 1 e = 0 l = 0 m = 0 v = 0 End If If t + e + l + m + v = x Then 'Função... End If Loop O problema, é que quando eu colocava um X como 20 já demorava 2 segundos para me retornar o valor, cada número que aumento em x cresce exponencialmente a quantidade de cálculos e, consequentemente, o tempo. Em força bruta (como estou fazendo) não está me ajudando. Tinha o mesmo problema para 2 espaços e era super tranquilo distribuir os dados, para 3 foi um pouco mais difícil, mas consegui, agora, para 5, não consegui achar um padrão de mudança para cada algarismo. Alguém teria alguma forma de me ajudar? Alguma dica de como buscar diminuir a quantidade de cálculos? Muito obrigado de qualquer modo, att.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.