3330 - CalculCombinari

De la Universitas MediaWiki
Versiunea pentru tipărire nu mai este suportată și poate avea erori de randare. Vă rugăm să vă actualizați bookmarkurile browserului și să folosiți funcția implicită de tipărire a browserului.

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 combinari de n luate cate k.

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

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)