3741 - StarsAndBars1: Difference between revisions

From Bitnami MediaWiki
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...
 
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
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

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

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 ver.1

<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>