3135 - Pătrat Magic 5: Difference between revisions
Pagină nouă: 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 == Exemplu == ; Intrare : 3 ; Ieșire : 15 == Rezolvare == <sy... |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
== Restricții și precizări == | == Restricții și precizări == | ||
* 3 ⩽ n ⩽ 1290 | * 3 ⩽ n ⩽ 1290 | ||
== | == Exemplul 1 == | ||
; Intrare | ; Intrare | ||
3 | |||
; Ieșire | ; Ieșire | ||
: 15 | : Datele introduse corespund restricțiilor impuse. | ||
15 | |||
<br> | |||
== Exemplul 2 == | |||
; Intrare | |||
2 | |||
; Ieșire | |||
Datele introduse nu corespund restricțiilor impuse. | |||
<br> | |||
== Rezolvare == | == Rezolvare == | ||
<syntaxhighlight lang="python" line> | <syntaxhighlight lang="python" line> | ||
# | # 3135 Pătrat Magic 5 | ||
n = | |||
# 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> | </syntaxhighlight> |
Latest revision as of 17:52, 15 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[edit | edit source]
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[edit | edit source]
- 3 ⩽ n ⩽ 1290
Exemplul 1[edit | edit source]
- Intrare
3
- Ieșire
- Datele introduse corespund restricțiilor impuse.
15
Exemplul 2[edit | edit source]
- Intrare
2
- Ieșire
Datele introduse nu corespund restricțiilor impuse.
Rezolvare[edit | edit source]
<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>