2347 - Furnici: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Pagină nouă: Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp] == Cerinţa == Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule. == Date de intrare == Programul citește de la tastatură numărul '''n'''. == Date de ieșire == Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul '''P''' , reprezentând produsul primelor '''n''' pătrate perfecte nenule, în caz contrar prog...
 
Sinn Erich (talk | contribs)
Line 1: Line 1:
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
Sursa: [https://www.pbinfo.ro/probleme/4273/prodpp]
== Cerinţa ==
== Cerinţa ==
Se dă numărul natural nenul '''n'''. Să se determine produsul primelor '''n''' pătrate perfecte nenule.
Lumea este în pericol. Încălzirea globală are efecte profunde în cele mai diferite domenii. Ea determină apariția extremelor climatice, topirea ghețarilor, ridicarea nivelului mărilor și, cel mai grav, dispariția a numeroase specii de animale. Cercetătorii au observat că cele mai afectate sunt furnicile.
 
Pentru a stabili cât de rapid este procesul de dispariție, ei și-au propus să le studieze timp de '''n''' zile, notând în fiecare zi numărul de furnici lucrătoare care ies după hrană. Ei au constatat că ele sunt afectate dacă, în zile consecutive, numărul de divizori ai numărului de furnici lucrătoare descrește. Vor lua în considerare doar perioadele de cel puțin două zile consecutive de descreșteri.
 
Pentru finalizarea studiului, trebuie să știe câte astfel de perioade au existat. Pentru că la calculele matematice pot greși, vă roagă să-i ajutați.
 
 
Dându-se un număr natural '''n''', reprezentând numărul de zile în care se face studiul și apoi un șir '''x''' de '''n''' numere naturale, ce reprezintă șirul numerelor de furnici lucrătoare care ies după hrană, unde '''x''' reprezintă numărul de furnici lucrătoare din ziua '''i'''. Se cere să se determine numărul de secvențe maximale, ordonate strict descrescător după numărul de divizori, de lungime minim 2.
 
== Date de intrare ==
== Date de intrare ==
Programul citește de la tastatură numărul '''n'''.
Programul citește de la tastatură numărul '''n'''.

Revision as of 21:37, 2 April 2023

Sursa: [1]

Cerinţa

Lumea este în pericol. Încălzirea globală are efecte profunde în cele mai diferite domenii. Ea determină apariția extremelor climatice, topirea ghețarilor, ridicarea nivelului mărilor și, cel mai grav, dispariția a numeroase specii de animale. Cercetătorii au observat că cele mai afectate sunt furnicile.

Pentru a stabili cât de rapid este procesul de dispariție, ei și-au propus să le studieze timp de n zile, notând în fiecare zi numărul de furnici lucrătoare care ies după hrană. Ei au constatat că ele sunt afectate dacă, în zile consecutive, numărul de divizori ai numărului de furnici lucrătoare descrește. Vor lua în considerare doar perioadele de cel puțin două zile consecutive de descreșteri.

Pentru finalizarea studiului, trebuie să știe câte astfel de perioade au existat. Pentru că la calculele matematice pot greși, vă roagă să-i ajutați.


Dându-se un număr natural n, reprezentând numărul de zile în care se face studiul și apoi un șir x de n numere naturale, ce reprezintă șirul numerelor de furnici lucrătoare care ies după hrană, unde x reprezintă numărul de furnici lucrătoare din ziua i. Se cere să se determine numărul de secvențe maximale, ordonate strict descrescător după numărul de divizori, de lungime minim 2.

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran, mesajul "Datele introduse corespund cerințelor" și pe o linie nouă numărul P , reprezentând produsul primelor n pătrate perfecte nenule, în caz contrar programul va afișa pe o linie noua mesajul "Datele introduse nu corespund cerintelor."

Dacă datele sunt introduse corect, programul va rula.

În cazul în care datele nu respectă restricțiile, se va afișa pe ecran: "Datele nu corespund restricțiilor impuse.".

Restricţii şi precizări

  • 0 < n ⩽ 10

Exemplul 1

Intrare
4
Ieșire
Datele corespund cerințelor.
576



Rezolvare

<syntaxhighlight lang="python" line>

  1. 4273

def patrate_perfecte(n):

   patrate = []
   i = 1
   while len(patrate) < n:
       patrat = i * i
       patrate.append(patrat)
       i += 1
   return patrate


def calculeaza(numbers):

   product = 1
   for number in numbers:
       product *= number
   return product


def validare_numar(n):

   if n < 1 or n > 10:
       return False
   return True


if __name__ == '__main__':

   n = int(input("Introduceți numărul n: "))
   if not validare_numar(n):
       print("Datele introduse nu corespund cerintelor.")
   else:
       squares = patrate_perfecte(n)
       product = calculeaza(squares)
       print("Datele introduse corespund cerintelor.")
       print(product)


</syntaxhighlight>