rod*_*ece 10 counting combinatorics julia
我正在寻找Julia中的(希望内置)函数来计算组合的数量
我显然可以使用阶乘法来实现自己,但我几乎可以肯定有人已经对此感到担忧.
nic*_*y12 18
您可能正在寻找binomial返回二项式系数的函数.它目前在基地
以下是一些简单的例子:
julia> binomial(2,1)
2
julia> binomial(3,2)
3
Run Code Online (Sandbox Code Playgroud)
如果要查看实际组合,则可以使用Combinatorics包的combinations(a,n)功能.这为您提供了一个可迭代n的数组长度的所有可能组合a.
julia> using Combinatorics
julia> collect(combinations(1:3,2))
3-element Array{Array{Int64,1},1}:
[1, 2]
[1, 3]
[2, 3]
Run Code Online (Sandbox Code Playgroud)
如果您想对“大”数字(如 200)进行二项式计算,请注意使用 BigInt
julia> binomial(3,2)
3
julia> binomial(300,200)
ERROR: OverflowError: binomial(300, 200) overflows
Stacktrace:
[1] binomial(::Int64, ::Int64) at ./intfuncs.jl:876
[2] top-level scope at none:0
julia> binomial(BigInt(300),BigInt(200))
4158251463258564744783383526326405580280466005743648708663033657304756328324008620
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3866 次 |
| 最近记录: |