0178 - Pătrat Perfect

From Bitnami MediaWiki

Cerință[edit | edit source]

Să se scrie un program care verifică dacă un număr natural citit de la tastatură este pătrat perfect.

Date de intrare[edit | edit source]

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

Date de ieșire[edit | edit source]

Dacă datele sunt introduse corect, pe ecran se va afișa: "Datele de intrare corespund restricțiilor impuse." și programul afișează pe ecran mesajul da, dacă n este pătrat perfect, respectiv nu în caz contrar. În caz contrar, se va afișa pe ecran: "Datele de intrare nu corespund restricțiilor impuse."

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

n < 2.000.000.000

Exemplul 1[edit | edit source]

Intrare
25
Ieșire
Datele de intrare corespund restricțiilor impuse.
da

Rezolvare[edit | edit source]

Rezolvare ver. 1[edit | edit source]

<syntaxhighlight lang="python" line="1" start="1"> import math


  1. Funcție pentru validarea valorii n.

def validare(n):

   if n < 2000000000:
       return True
   else:
       return False


  1. Functie pentru aflarea daca numarul este patrat perfect

def patrat_perfect(n):

   if math.isqrt(n) ** 2 == n:
       print("da")
   else:
       print("nu")


if __name__ == '__main__':

   n = int(input("Introduceti numarul:"))  # Citim numarul de la tastatura
   if validare(n):  # Stabilim daca datele introduse sunt valide
       print("Datele de intrare corespund restricțiilor impuse.")
       patrat_perfect(n)  # Apelam functia pentru a afla daca numarul este patrat perfect
   else:
       print("Datele de intrare nu corespund restricțiilor impuse.")  # In cazul in care datele sunt invalide afisam mesajul corespunzator

</syntaxhighlight>