0178 - Pătrat Perfect

De la Universitas MediaWiki

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
Datele de intrare corespund restricțiilor impuse.
da

Rezolvare

Rezolvare ver. 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