3741 - StarsAndBars1: Difference between revisions
Rus Marius (talk | contribs) Pagină nouă: ==Cerința== Gigel are n bile și k cutii. În câte moduri poate plasa Gigel bilele în cutii, știind că pot rămâne și cutii goale. ==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 rezultatul. ==Restricții și precizări== 1 ≤ k , n ≤ 500 ==Exemplu== ;intrare :3,2 ;ieșire :4 ==Rezolvare== ===Rezolvare ver.1=== <syntaxhighlight lang="python" line=""> def factor... |
Rus Marius (talk | contribs) No edit summary |
||
(3 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
==Cerința== | ==Cerința== | ||
Gigel are n bile și k cutii. În câte moduri poate plasa Gigel bilele în cutii, știind că pot rămâne și cutii goale. | Gigel are '''n''' bile și '''k''' cutii. În câte moduri poate plasa Gigel bilele în cutii, știind că pot rămâne și cutii goale. | ||
==Date de intrare== | ==Date de intrare== | ||
Programul citește de la tastatură numerele naturale n k. | Programul citește de la tastatură numerele naturale n k. | ||
Line 7: | Line 8: | ||
==Restricții și precizări== | ==Restricții și precizări== | ||
1 ≤ k , n ≤ 500 | '''1 ≤ k , n ≤ 500''' | ||
==Exemplu== | ==Exemplu== | ||
;intrare | ;intrare | ||
3 2 | |||
;ieșire | ;ieșire | ||
:4 | 4 | ||
==Explicație== | |||
;Avem '''n=3''' bile și '''k=2''' cutii. Cele '''4''' modalități de a plasa bilele sunt: | |||
;1. '''||***|''' | |||
;2.'''|*|**|''' | |||
;3.'''|**|*|''' | |||
;4.'''|***||''' | |||
==Rezolvare== | ==Rezolvare== | ||
===Rezolvare ver.1=== | ===Rezolvare ver.1=== | ||
<syntaxhighlight lang="python" line=""> | <syntaxhighlight lang="python" line=""> | ||
def factorial(x): | def factorial(x): | ||
if not (1 <= k): | |||
raise ValueError | |||
if not (n <= 500): | |||
raise ValueError | |||
if x == 0 or x == 1: | if x == 0 or x == 1: | ||
return 1 | return 1 |
Latest revision as of 09:04, 21 November 2023
Cerința[edit | edit source]
Gigel are n bile și k cutii. În câte moduri poate plasa Gigel bilele în cutii, știind că pot rămâne și cutii goale.
Date de intrare[edit | edit source]
Programul citește de la tastatură numerele naturale n k.
Date de ieșire[edit | edit source]
Programul va afișa pe ecran numărul C, reprezentând rezultatul.
Restricții și precizări[edit | edit source]
1 ≤ k , n ≤ 500
Exemplu[edit | edit source]
- intrare
3 2
- ieșire
4
Explicație[edit | edit source]
- Avem n=3 bile și k=2 cutii. Cele 4 modalități de a plasa bilele sunt
- 1. ||***|
- 2.|*|**|
- 3.|**|*|
- 4.|***||
Rezolvare[edit | edit source]
Rezolvare ver.1[edit | edit source]
<syntaxhighlight lang="python" line=""> def factorial(x):
if not (1 <= k): raise ValueError if not (n <= 500): raise ValueError if x == 0 or x == 1: return 1 else: return x * factorial(x-1)
def coeficient_binomial(n, k):
return factorial(n + k - 1) // (factorial(k - 1) * factorial(n - 1))
n, k = map(int, input("Introduceți valorile lui n și k (separate prin spațiu): ").split()) rezultat = coeficient_binomial(n + k - 1, k - 1) print("Numărul de moduri în care Gigel poate plasa bilele în cutii este:", rezultat) </syntaxhighlight>