3135 - Pătrat Magic 5: Difference between revisions

From Bitnami MediaWiki
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...
 
No edit summary
Line 4: Line 4:
== Restricții și precizări ==
== Restricții și precizări ==
* 3 &les; n &les; 1290
* 3 &les; n &les; 1290
== Exemplu ==
== Exemplul 1 ==
; Intrare
; Intrare
: 3
: 3
; Ieșire
; Ieșire
: Datele introduse corespund restricțiilor impuse.
: 15
: 15
== Exemplul 2 ==
; Intrare
: -1849nq
; Ieșire
: Datele introduse nu corespund restricțiilor impuse.
== Rezolvare ==
== Rezolvare ==
<syntaxhighlight lang="python" line>
<syntaxhighlight lang="python" line>
# Citirea valorii n de la tastatură
# 3135  Pătrat Magic 5
n = int(input("Introduceți latura pătratului: "))
 
# 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
 


# Calcularea constantei pătratului magic
# Verificăm dacă acest script este rulat direct
constanta = n * (n**2 + 1) // 2
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.")


print("Constanta pătratului magic este: ", constanta)


</syntaxhighlight>
</syntaxhighlight>

Revision as of 11:30, 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>

  1. 3135 Pătrat Magic 5
  1. 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


  1. 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


  1. 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>