0178 - Pătrat Perfect: Difference between revisions
Pagină nouă: ==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== Programul afișează pe ecran mesajul '''da''', dacă n '''este''' pătrat perfect, respectiv '''nu''' în caz contrar. ==Restricții de precizări== '''n''' < 2.000.000.000 ==Exemplul 1== ;Intrare :25 ;Ieșire :da ==Rezolvare== =... |
|||
Line 8: | Line 8: | ||
Programul afișează pe ecran mesajul '''da''', dacă n '''este''' pătrat perfect, respectiv '''nu''' în caz contrar. | Programul afișează pe ecran mesajul '''da''', dacă n '''este''' pătrat perfect, respectiv '''nu''' în caz contrar. | ||
==Restricții | ==Restricții și precizări== | ||
'''n''' < 2.000.000.000 | '''n''' < 2.000.000.000 | ||
Revision as of 19:12, 2 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
Programul afișează pe ecran mesajul da, dacă n este pătrat perfect, respectiv nu în caz contrar.
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
- Funcție pentru validarea valorii n.
def validare(n):
if n < 2000000000: return True else: return False
- 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>