Et hop, un nouvel exercice sur HackInScience : les carrés magiques

TL;DR : HackInScience — Magic Square

La moulinette étant toute fraîche elle contient probablement encore des bugs, sois indulgent et n’hésite pas à me donner quelques retours (ou faire une PR, le code est là exercises/magic-square · main · hackinscience / hkis-exercises · GitLab).

Oui je sais j’avais déjà quelque chose autour des carrés magiques (HackInScience — Dirichlet solver) mais celui-ci est beaucoup plus simple.

Inspiré d’un exercice de math donné en élémentaire à une de mes filles, quand j’ai vu l’exo (remplir un carré magique) ma première réaction a été « ça se script… » et ma 2ème « ahh bah ça fera un exo hackinscience » :slight_smile:

Si vous avez des idées d’exos je prends !

5 « J'aime »

Chouette exercice !

Your fill_magic_square function will have to find and fill the gaps in the square.

Mais qu’est-ce qu’un magic square exactement ? Je me doute qu’il s’agit d’un genre de sudoku, mais je pense qu’expliciter les spécificités de ce carré permettrait de mieux comprendre la consigne :slight_smile:

Surtout que dans l’exemple donné, il n’y a qu’un chiffre manquant (5), donc on pourrait croire qu’il suffit de compléter la série 0-9.

Alors que s’il y a plusieurs chiffres manquants, un savant calcul est nécessaire :nerd_face:

@entwanne et moi-même l’avons terminé cet après-midi après moult péripéties.

Voici l’article qui te donnera les explications nécessaires : Carré magique (mathématiques) — Wikipédia

Merci.
C’était une question semi-rhétorique, pour indiquer qu’il manquait l’explication exacte de ce qui était attendu :upside_down_face:

Je trouve aussi que le sujet est assez peu clair sur ce qui est attendu :

  • on comprend via l’exemple que ce sont les 0 qui sont à remplacer, mais ça n’est pas explicitement dit
  • les limites ne sont pas données : le fait qu’une seule solution soit possible, qu’il existe toujours une ligne/colonne/diagonale sans trou, et qu’il est toujours possible de trouver une ligne/colonne/diagonale avec un seul trou

Je veux dire par là que techniquement en se limitant au sujet rien n’empêcherait de proposer un carré entièrement vide (rempli de zéros) et d’avoir à le résoudre. Mais a priori ce n’est pas ce qui est attendu.

Très bon exercice sinon. :slight_smile:

Merci à toujours pour vos retours, j’ai mis à jour (plusieurs fois) le sujet, j’espère avoir tout corrigé.

Ça y est je suis inscrite HackInScience !

Je suis 33339ème au classement. :muscle:

1 « J'aime »

Tu as rejoint l’équipe AFPy ? :slight_smile:

Ouais, je l’ai acceptée tout à l’heure !

2 « J'aime »

Bon tu n’hésite pas à me flood de retours sur HackInScience, au pire si y’a trop d’issues je ferai un atelier pour contribuer à la prochaine PyConFR :smiley:

Oui j’ai une réclamation, c’était trop intéressant et maintenant je suis en retard pour le boulot. ^^
(Non en vrai c’est trop bien, j’adore, bravo !)

1 « J'aime »