有没有真正简单的方法来完成类似于A.
J 中“n 选择 k”排列的 Anagram Index ( ) 函数的事情?
所以,我喜欢A.
J。只是为了表明我对它有点理解:
A. 0 3 4 2 1
17
17 A. i.5
0 3 4 2 1
我也知道我可以使用它来排列列表 ( 17 A. things
) 或使用结果从列表中进行选择,如果有任何不同的话 ( (17 A. i.5) { things
)。
我正在寻找一个函数,该函数将产生一个类似的数字,A.
并且还可以逆向重新创建“n 选择 k”排列的选择,无论是否有替换。顺序对我来说确实很重要,因此0 2 7
与 不同7 0 2
,但我会对不关心顺序的版本感兴趣(例如在 Yahtzee 中掷骰子时)。
我准备开始自己解决这个问题并编写自己的函数,但我只需要假设这是一个已解决的问题,尤其是在像 J 这样的语言中,它包含A.
一个原语。
为了清楚起见,“n 选择 k”,我说的是掷骰子(“6 选择 3,有替换”用于滚动 3 个骰子,一个接一个)和赛马获胜者(“20 选择 3,没有替换” 20 匹马比赛中的前 3 匹马)。