3330 - CalculCombinari

From Bitnami MediaWiki

Cerința

Această problemă ar putea avea oricare dintre următoarele cerințe:

într-o clasă sunt n elevi. În câte moduri putem face o echipă din k elevi?

în parcul auto al unei firme de taxi sunt n mașini. Într-o zi vin la lucru k șoferi. În câte moduri pot fi alese cele k mașini folosite?

la o masă sunt n locuri. La masă vor sta k persoane. În câte moduri putem alege scaunele folosite?

avem n bomboane diferite. În câte moduri putem alege k bomboane?

o mulțime are n elemente. Câte submulțimi cu k elemente are?

etc.

Din lipsă de imaginație, cerința este:

Se dau numerele naturale n și k. Calculați Ckn .

Date de intrare

Programul citește de la tastatură numerele naturale n k.

Date de ieșire

Programul va afișa pe ecran numărul C, reprezentând

Restricții și precizări

0 ≤ k ≤ n ≤ 500

Exemplu

intrare
4,2
ieșire
6

Rezolvare

Rezolvare ver.1

<syntaxhighlight lang="python" line=""> def coeficient_binomial(n, k):

   if k == 0 or k == n:
       return 1
   else:
       return coeficient_binomial(n - 1, k - 1) + coeficient_binomial(n - 1, k)

n, k = map(int, input("Introduceți valorile lui n și k (separate prin spațiu): ").split()) rezultat = coeficient_binomial(n, k) print("Coeficientul binomial C(", n, ",", k, ") este:", rezultat) </syntaxhighlight>