Ce face math.comb() și math.perm()
comb(n, k) spune în câte moduri poți alege k obiecte din n, fără să conteze ordinea (combinări, C(n, k)). perm(n, k) spune în câte moduri le poți alege ținând cont de ordine (aranjamente); fără k, dă n!.
Dacă k > n, ambele returnează 0. Pentru a genera efectiv combinările, folosește itertools.combinations() și itertools.permutations().
Parametri
| Parametru | Descriere |
|---|---|
n |
Numărul total de obiecte. |
k |
Câte se aleg. |
Ce returnează
Un int.
Exemple
Exemplul 1: Loto și podium
import math
print("Variante Loto 6/49:", math.comb(49, 6))
print("Podiumuri posibile din 10 concurenți:", math.perm(10, 3))
print(math.perm(4), math.comb(5, 7))
Rezultat
Variante Loto 6/49: 13983816
Podiumuri posibile din 10 concurenți: 720
24 0
Greșeli frecvente
- Folosești
permcând ordinea nu contează (de exemplu pentru o echipă) și obții un rezultat dek!ori prea mare.
Comenzi înrudite
itertools.combinations() și combinations_with_replacement(): Toate grupurile de r elemente dintr-o colecție, fără să conteze ordinea.itertools.permutations(): Toate aranjamentele posibile ale elementelor, în care ordinea contează.math.factorial(): Calculează factorialul unui număr: n! = 1 · 2 · 3 · … · n.