例如,52 张扑克牌中的 5 张牌 = 2598960 种组合。
但是,我实际上如何显示所有这些组合?
查找号码的代码很简单:
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)
关于打印出所有实际组合的解决方案有什么想法吗?
例如:
1,2,3,4,5
1,2,3,4,6
etc.
甚至帮助入门。 谢谢!
最佳答案
cards = (1..52).to_a
hand_number = 5
cards.combination(hand_number).to_a
=> [[1,2,3,4,5],[1,2,3,4,6],...]
关于ruby - 打印出从列表的 Y 元素中选择的 X 个不同对象的所有组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4121057/