1282 - Radical

From Bitnami MediaWiki
Revision as of 11:07, 23 May 2023 by Adrian (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Cerința[edit | edit source]

Se dă un număr. Să se afișeze rădăcina sa pătrată.

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

Pe ecran se va afișa mesajul: "Datele de intrare corespund restricțiilor impuse". În următorul rând se va afișa pe ecran numărul natural radacina_nr, reprezentând rădăcina pătrată a lui nr.

În cazul în care datele introduse de la tastatură nu îndeplinesc cerințele enunțate, pe ecran se va afișa mesajul "Nu au fost respectate cerintele impuse".

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

  • 1 ⩽ nr ⩽ 1000
  • în fiecare test numărul nr va fi pătrat perfect
  • radacina_nr trebuie să fie numar natural

Exemplu 1[edit | edit source]

Intrare
9
Ieșire
Datele de intrare corespund restricțiilor impuse
3


Exemplu 2[edit | edit source]

Intrare
5
Ieșire
Nu au fost respectate cerintele impuse


Rezolvare[edit | edit source]

<syntaxhighlight lang="python" line>

  1. 1282 - radical
  2. Importam functia sqrt din modulul math

from math import sqrt


def validare(nr):

   # Daca datele sunt invalide v-om face raise la eroarea ValueError
   # .is_integer() verifica daca sqrt de nr da numar natural fara virgula
   # ceea ce inseamna ca nr este patrat perfect
   if not (nr >= 1 and nr <= 1000 and sqrt(nr).is_integer()):
       raise ValueError


def radical(nr):

   # Pentru a afla radacina unui numar folosim functia sqrt
   radacina_nr = int(sqrt(nr))
   print(radacina_nr)


if __name__ == '__main__':

   # Citim de la tastatura numerele cerute
   nr = int(input())
   # Verificam daca datele introduse sunt valide
   # daca nu afisam mesajul corespunsador
   try:
       validare(nr)
   except ValueError:
       print("Nu au fost respectate cerintele impuse")
   else:
       print("Datele de intrare corespund restricțiilor impuse")
       radical(nr)

</syntaxhighlight>