22 mar 2013, 22:49
23 mar 2013, 00:19
01 02 03 04 05 .... 49 50
01 02 03 04 05 .... 49 51
01 02 03 04 05 .... 49 52
01 02 03 04 05 .... 49 53
...
23 mar 2013, 03:30
fraol Escreveu:Olá, boa noite,
Se eu estiver errado você manda mais esclarecimentos ok?
Entendi que você está querendo montar todas as combinações possíveis de grupos de 50 números escolhidos entre 00 e 99 inclusive?
Você vai precisar de um computador e um programa específico pois no braço é loucura!
Mas vou dar algumas combinações:
- Código:
01 02 03 04 05 .... 49 50
01 02 03 04 05 .... 49 51
01 02 03 04 05 .... 49 52
01 02 03 04 05 .... 49 53
...
Já percebeu o tamanho da encrenca?
23 mar 2013, 14:38
# funcao em Ruby 1.9 para retornar as combinacoes de
# n elementos agrupados em subconj de k elementos
def comb_k(set, k)
k = set.length if k > set.length
combs = 2**set.length # total de subsets
subsets = [] # contem todos os subsets
for i in (0..combs) do
subset = []
0.upto(set.length-1){|j| subset<<set[j] if i&(1<<j)!=0}
subsets << subset
end
results = [] # contem todos os subsets de tamanho k
subsets.each { |sub| results<<sub if sub.size == k }
results
end
#exemplo de saida para 4 elementos agrupados 3 a 3.
#veja a saida mais abaixo
comb_k([0,1,2,3], 3).each { |res| p res }
# saida:
# [0, 1, 2]
# [0, 1, 3]
# [0, 2, 3]
# [1, 2, 3]
# agora eh soh botar o set com os 100 numeros, pedir para agrupar 50 a 50 e esperar um pouco ... ...
set = []
0.upto(99) { |i| set<<i } # monta o set com os 100 numeros de 0 a 99
#comb_k(set, 50).each { |res| p res } # mostraria todos os subsets com 50 elementos e isso vai demorar
23 mar 2013, 15:11