Je cherche la fonction (intégrée, espérons-le) de Julia qui calcule le nombre de combinaisons
Je pourrais évidemment mettre en œuvre ma propre factorielle, mais je suis presque certain que quelqu'un s'est déjà inquiété à ce sujet.
Il est fort probable que vous recherchiez la fonction binomial
qui renvoie le coefficient binomial. Il est actuellement dans base
Voici quelques exemples simples:
Julia> binomial(2,1)
2
Julia> binomial(3,2)
3
Si vous voulez voir les combinaisons réelles, vous pouvez utiliser la fonction combinations(a,n)
du package Combinatorics
. Cela vous donne un itérable avec toutes les combinaisons possibles de longueur n
de tableau a
.
Julia> using Combinatorics
Julia> collect(combinations(1:3,2))
3-element Array{Array{Int64,1},1}:
[1, 2]
[1, 3]
[2, 3]
Sachez que vous devez utiliser BigInt si vous voulez prendre un binôme de "gros" nombres comme 200
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