3330 - CalculCombinari
De la Universitas 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 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)