3135 - Pătrat Magic 5

De la Universitas MediaWiki

Un Pătrat Magic este un pătrat ce conține numerele de la 1 la n 2 în care sumele fiecăror linii, coloane și a celor două diagonale sunt egale. Această sumă se mai numește și constanta pătratului magic.

Cerinţa

Să citește de la tastatură un număr natural n reprezentând latura pătratului. Să se determine constanta acestuia.

Restricții și precizări

  • 3 ⩽ n ⩽ 1290

Exemplul 1

Intrare
3
Ieșire
Datele introduse corespund restricțiilor impuse.
15


Exemplul 2

Intrare
2
Ieșire
Datele introduse nu corespund restricțiilor impuse.


Rezolvare

# 3135  Pătrat Magic 5

# Definim funcția de verificare a valorii n


def verificare(valoare_numar):
    # Verificăm dacă n respectă restricțiile problemei
    if 3 <= valoare_numar <= 1290:
        # Dacă valoarea este validă, returnăm valoarea
        return valoare_numar
    else:
        # Dacă valoarea nu este validă, ridicăm o excepție
        raise ValueError


# Definim funcția pentru calculul constantei pătratului magic


def constanta_patrat_magic(numar):
    # Calculăm constanta pătratului magic
    constanta = numar * (numar**2 + 1) // 2
    # Returnăm constanta
    return constanta


# Verificăm dacă acest script este rulat direct
if __name__ == "__main__":
    try:
        # Citim numărul de la utilizator
        n = input("Introduceți latura pătratului: ")
        # Validăm numărul
        n = verificare(int(n))
        # Dacă numărul este valid, rezolvăm problema
        print("Datele introduse corespund restricțiilor impuse.")
        print(constanta_patrat_magic(n))
    except ValueError:
        # Dacă numărul nu este valid, afișăm un mesaj de eroare
        print("Datele introduse nu corespund restricțiilor impuse.")