0535 - Fabrica

From Bitnami MediaWiki

Cerința[edit | edit source]

La secția de împachetare a produselor dintr-o fabrică lucrează n muncitori. Fiecare muncitor împachetează același tip de produs, iar pentru fiecare se cunoaște timpul necesar pentru împachetarea unui obiect. Să se determine câte obiecte vor fi împachetate de cei n muncitori într-un interval de timp dat, T.

Date de intrare[edit | edit source]

Programul citește de la tastatură numerele n și T, iar apoi n numere naturale nenule, reprezentând timpul necesar fiecărui muncitor pentru împachetarea unui obiect.

Date de ieșire[edit | edit source]

Programul va afișa pe ecran numărul C, reprezentând numărul de obiecte împachetate de cei n muncitori în intervalul dat.

Restricții și precizări[edit | edit source]

  • 1 ≤ n ≤ 1000;
  • cele n numere citite vor fi mai mici decât 1.000;
  • 1 ≤ T ≤ 1.000.000;
  • toate intervalele de timp sunt exprimate în aceeași unitate de măsură;

Exemplul 1[edit | edit source]

Intrare
6 30
4 7 3 6 7 1
Ieșire
Datele de intrare corespund restricțiilor impuse.
60

Exemplul 2[edit | edit source]

Intrare
0 10
4 7 3 6 7 1
Ieșire
Datele de intrare nu corespund restricțiilor impuse.

Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line="1">

  1. 0535 - Fabrica

def calculeaza_numarul_de_obiecte(n, T, timpi):

   count = 0
   for i in range(n):
       obiecte = T // timpi[i]
       count += obiecte
   return count

if __name__ == "__main__":

   # citim numărul de muncitori și intervalul de timp de la tastatură
   n, T = map(int, input("Introduceți numărul de muncitori și intervalul de timp: ").split())
   # citim timpii necesari pentru împachetarea unui obiect, pentru fiecare muncitor
   timpi = list(map(int, input("Introduceți timpii necesari pentru împachetarea unui obiect: ").split()))
   # verificarea restricțiilor
   if n < 1 or n > 1000 or (max(timpi) > 1000 and (T < 1 or T > 1000000)):
       print("Datele de intrare nu corespund restricțiilor impuse.")
   else:
       print("Datele de intrare corespund restricțiilor impuse.")
       # calculăm numărul total de obiecte împachetate
       C = calculeaza_numarul_de_obiecte(n, T, timpi)
       # afișăm rezultatul
       print(f"{C} obiecte au fost împachetate, de către cei {n} muncitori, în intervalul de timp dat.")

</syntaxhighlight>