Nous travaillons dans cet exercice sur des tableaux carrés d'entiers positifs.
Nous appelons « carré d'ordre n » un tableau de n lignes et n colonnes dont chaque case contient un entier positif.
Un carré est dit « semi-magique » lorsque les sommes des éléments situés sur chaque ligne, chaque colonne sont égales. Cette somme est appelée constante magique ou densité du carré semi-magique.
Ce carré est semi-magique car la somme de chaque ligne et de chaque colonne est égale à 8.
Ce carré est semi-magique car la somme de chaque ligne et de chaque colonne est égale à 12.
Ce carré n'est pas semi-magique car la somme de la première ligne est égale à 15 alors que celle de la deuxième ligne est égale à 10.
La classe Carre
ci-après contient des méthodes qui permettent de manipuler des carrés.
-
La méthode
__init__
permet de créer un carré sous forme d'un tableau à deux dimensions à partir d'un p-uplet d'entiers nombres
. Nous remarquons que l'ordre du carré créé est la racine carrée de la longueur du p-uplet passé en paramètre. Par exemple avec un p-uplet de taille 4, on crée un carré d'ordre 2, avec un de taille 9, un carré d'ordre 3.
par exemple le derneir carré de l'exemple sera créer à partie du tuple (2, 9, 4, 7, 0, 3, 6, 1, 8)
-
La méthode
affiche
permet d'afficher le carré créé.
-
La méthode
somme_ligne
prend en paramètre un entier i
et renvoie la somme des éléments de la ligne i
du carré.
-
La méthode
somme_colonne
prend en paramètre un entier j
et renvoie la somme des éléments de la colonne j
du carré.
-
La méthode
est_semi_magique
renvoie True
si le carré est semi magique, False
sinon.
Compléter le code ci-dessous
source : https://codex.forge.apps.education.fr