0178 - Pătrat Perfect: Difference between revisions

From Bitnami MediaWiki
Line 6: Line 6:


==Date de ieșire==
==Date de ieșire==
Programul afișează pe ecran mesajul '''da''', dacă n '''este''' pătrat perfect, respectiv '''nu''' în caz contrar.
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==
==Restricții și precizări==

Revision as of 17:54, 22 April 2023

Cerință

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

Date de intrare

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

Date de ieșire

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

n < 2.000.000.000

Exemplul 1

Intrare
25
Ieșire
da

Rezolvare

Rezolvare ver. 1

<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>