Par exemple, 5 cartes dans une main de poker de 52 cartes = 2598960 combinaisons.
Comment puis-je afficher toutes ces combinaisons?Imprimer toutes les combinaisons de X objets distincts choisis parmi les éléments Y d'une liste
Le code pour trouver le numéro est facile:
def binomial_coef(total,subset)
factorial(total)/(factorial(subset) * factorial(total - subset))
end
def factorial(n)
n.downto(1).inject(:*)
end
# different 5 card poker hand combinations
cards = 52
hand_number = 5
puts binomial_coef(cards, hand_number)
Toutes les idées sur une solution pour l'impression des toutes les combinaisons réelles?
par exemple:
1,2,3,4,5
1,2,3,4,6
etc.
ou même aider Gettings commencé. Merci!
Utilisez forme de bloc pour éviter de stocker toute la chose en mémoire: '(1..52) .to_a.combination (5) {| cartes | puts cards.join ','} ' –
@Lars Haugseth, bonne note! – Nakilon