3135 - Pătrat Magic 5: Difference between revisions
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
: Datele introduse corespund restricțiilor impuse. | : Datele introduse corespund restricțiilor impuse. | ||
: 15 | : 15 | ||
<br> | |||
== Exemplul 2 == | == Exemplul 2 == | ||
; Intrare | ; Intrare | ||
| Line 15: | Line 16: | ||
; Ieșire | ; Ieșire | ||
: Datele introduse nu corespund restricțiilor impuse. | : Datele introduse nu corespund restricțiilor impuse. | ||
<br> | |||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
Revision as of 19:12, 10 November 2023
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
- -1849nq
- Ieșire
- Datele introduse nu corespund restricțiilor impuse.
Rezolvare
<syntaxhighlight lang="python" line>
- 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.")
</syntaxhighlight>