1665 - Pozitie Sir: Difference between revisions

From Bitnami MediaWiki
Sinn Erich (talk | contribs)
Sinn Erich (talk | contribs)
Line 20: Line 20:
== Exemplul 1 ==
== Exemplul 1 ==
; Intrare
; Intrare
: 4
: 9 13
: 26 2 5 30 13 45 62 7 79
; Ieșire
; Ieșire
: Datele corespund cerințelor.
: 6
: 576
<br>
<br>


== Rezolvare ==  
== Rezolvare ==  

Revision as of 20:16, 2 April 2023

Sursa: [1]

Cerinţa

Considerăm şirul a cu n numere naturale nenule distincte două câte două şi un număr x. Scrieţi un program care determină poziţia pe care se va găsi numărul x în şirul a, dacă acesta ar fi ordonat descrescător.

Date de intrare

Programul citește de la tastatură numerele n şi x, urmate de n numere naturale reprezentând elementele şirului a.

Date de ieșire

Programul va afișa pe ecran poziţia determinată mai sus. Dacă numărul x nu se regăseşte în şir, valoarea afişată va fi -1.

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

1 ≤ n < 200.000 cele n numere citite vor fi mai mici decât 109 considerăm elementele şirului a numerotate de la 1 la n

Exemplul 1

Intrare
9 13
26 2 5 30 13 45 62 7 79
Ieșire
6


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>