Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » Le Puzzle de l'Avent 2025
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Le Puzzle de l'Avent 2025

Posté le 02/12/2025 03:33

Décembre est de retour, et du même coup le Puzzle de l'Avent de Planète Casio ! La neige n'est peut-être pas au rendez-vous mais les activités de saison n'attendent pas.

On en est à pas moins de la 6ème édition (2018, 2019, 2021, 2023, 2024) et la formule est proche de ce qu'on a fait ces dernières années.

Principe et lots

Le but du jeu est de reconstituer un puzzle en pixel art (en l'occurrence de 192x112 pixels) en résolvant des problèmes d'informatique posés durant le moins de Décembre. Cette année j'ai retenu ma leçon que poser un problème pas trivial tous les jours c'est beaucoup (pour vous comme pour moi), donc on va la jouer cool avec en gros des problèmes 1 jour sur 2.

Il y aura 3 lots à remporter gracieusement sponsorisés par Calcuso !
  • Une calculatrice Graph Math+ (normalement gravée laser avec un message personnalisé--je vous confirme ça) ;
  • Deux housses pour calculatrices (ou, selon les goûts, une coque d'édition limitée pour Graph Light/Math+ offerte par Casio Éducation).




Fonctionnement des problèmes et attribution des lots

Je change un poil la formule cette année pour élargir le type de problèmes !

  • Chaque problème sera posé sous la forme d'un "énoncé" que vous devrez résoudre. Généralement du code Python sera fourni, à utiliser sur votre calculatrice ou ordinateur, et parfois vous devrez écrire du code Python pour trouver une réponse.
  • Une solution sera soit un nombre soit une chaîne de caractères. Contrairement aux années précédentes, il pourra y avoir plusieurs solutions, auquel cas vous devrez en trouver une « suffisamment bonne ».
  • Une page sur le site sera à votre disposition pour soumettre vos réponses en échange des pièces du puzzle du jour.
  • Page de soumission des réponses en échange des pièces : https://events.planet-casio.com/avent2025
  • Réassemblez le puzzle dans un outil d'édition d'images (comme GIMP ou Photoshop) pour remporter des lots et le titre de Maître du Puzzle !

Le dernier problème sera posté le 24 Décembre. Comme d'habitude, les premières personnes qui m'enverront par MP le puzzle résolu avec leurs solutions/scripts remporteront les lots. Je préciserai quand on approchera de la fin

Avant que j'oublie, pour que ça tourne un peu les membres qui ont déjà gagné une Math+ en 2025 ne pourront prétendre qu'aux deux lots de housses/coques. Si vous n'avez jamais joué, c'est le meilleur moment pour vous lancer !

Le titre de Maître du Puzzle pourra être collecté au moins jusqu'à début Janvier, et ceux qui auront trouvé des solutions meilleures que ce qui était attendu dans les problèmes auront bien sûr la classe éternelle. :3

Les premiers jours

Une fois n'est pas coutume, mon planning cette année est ridicule (récemment j'ai fait des trucs et changé de job). Du coup j'ai un peu de retard sur le code et j'ai pas tout à fait fini le puzzle. Je mettrai en ligne la page permettant de récupérer les pièces d'ici quelques jours, donc gardez bien vos solutions au chaud. En échange de ce désagrément, je ferai une animation pour montrer la progression du dessin du puzzle

Allez, à vos neurones !

Liste des puzzles




Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 08/12/2025 21:47 | #


Luisellina a écrit :
2?c -> ??c -> 23c -> six c ?

Ah mais y'a des priorités justement.

L'émulateur commence à la position #0, voit le 2 dans 2?c, et il se prépare donc à évaluer l'atome suivant deux fois, atome qui commence à la position #1.

Donc première itération, l'atome à la position #1 il commence par ?, que l'on remplace par le première caractère d'entrée 2, ce qui déclenche la double évaluation de l'atome à la position #2. Le première évaluation imbriquée trouve le caractère c à la position #2 donc l'affiche ; la deuxième fait pareil. On affiche donc 2 "c".

Maintenant seconde itération, l'atome à la position #1 n'a pas changé et commence toujours par ?, que l'on remplace par le prochain caractère d'entrée, cette fois 3. Cela déclenche une triple évaluation de l'atome à la position #2, et chacune de ces évaluations affiche le caractère "c".

Du coup, 5 "c".
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 08/12/2025 21:48 | #


Slyvtt a écrit :
Oui, c'était en réaction à "avec les outils à jour", pas pour la 1ere épreuve.

C'est pas une question des outils à jour ou pas, c'est que la présence du limiteur ou pas est imposée par l'énoncé.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 09/12/2025 01:43 | #


⚠️ La page pour soumettre les réponses et obtenir les pièces est en ligne ! ⚠️

» https://events.planet-casio.com/avent2025 «

Je mets le lien partout demain. Je douille mais je vais y arriver

J'espère que ce puzzle vous plaît en tous cas !
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 10/12/2025 00:07 | #


Un million de variations

Jusqu'à présent on a surtout vu comment utiliser le générateur de séquences pour produire des sorties régulières. Mais c'est pas très drôle si tout est régulier ! Des fois il faut savoir faire dans l'imprévisible, le surprenant, l'aléatoire. Comme les heures de sortie de ces défis.

Le but de ce problème est de générer le plus grand nombre possible de motifs de 7 lettres différents à la suite. Vous devez produire une séquence utilisant les lettres abcdefg, par exemple :

abcdefggfedcbaabcdefg...

La séquence sera coupée en paquets de 7 :

abcdefg
gfedcba
abcdefg
...

Et le but est de produire le plus possible de paquets différents avant d'en répéter un. Ici le 3ème paquet est une répétition du 1er, donc la formule a produit seulement 2 paquets distincts avant de se répéter.

Il y a 7⁷ soit pas loin de un million de combinaisons de longueur 7 qu'on peut former. À votre avis, à quel point peut-on forcer une formuler à varier sans en faire exploser la longueur ?

Problème : Trouver une formule de longueur ≤ 22 produisant une séquence formée des lettres abcdefg dont au moins les 30 premiers paquets de 7 sont tous différents.

Pour être transparent, c'est le problème que j'ai le moins exploré jusqu'à présent, donc j'ai pris des marges. Ma solution de référence a une longueur de 18 et produit 48 paquets distincts. Il doit y avoir moyen de faire mieux.

Soumettre une solution et obtenir les pièces : https://events.planet-casio.com/avent2025
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 10/12/2025 18:32 | #


N'hésitez pas à me dire où vous en êtes, si y'a des problèmes que personne ne trouve ou autre pour que je puisse voir ce qui se passe. ^^"
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Dimartino Hors ligne Maître du Puzzle Points: 347 Défis: 2 Message

Citer : Posté le 10/12/2025 21:19 | #


Hello ! J'ai résolu très facilement "un monde de séquence", mais j'ai du mal avec "théorème de factorisation". Mais bon, je n'ai pas encore assez cherché pour m'avouer vaincu.

Merci beaucoup Lephe' pour le puzzle !
Mon projet du moment : Memen'Casio
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 11/12/2025 20:55 | #


Toupie dans un labyrinthe

Que serait un Puzzle de l'Avent sans un petit labyrinthe ?



En partant du "x", le but est de générer (par une formule) une séquence permettant de sortir du labyrinthe. La séquence sera composée des lettres "h" (haut/up), "b" (bas/bottom), "g" (gauche/left), et "d" (droite/right).

Les chemins les plus courts pour sortir du labyrinthe prennent 10 étapes. Pouvez-vous, sans utiliser de chiffres, trouver une formule de 8 caractères ou moins qui génère une séquence gagnante de déplacements ?

Je vous préviens, le chemin que la formule va générer ne sera pas des plus courts...

Problème : Trouver une formule de longueur ≤ 8 sans chiffres qui génère une série de déplacements (h, b, g, d) menant du "x" à la sortie du labyrinthe.

Le programme Dec11.py est fourni avec de quoi exécuter le labyrinthe. Appelez la fonction run_labyrinth() avec votre formule. La fonction affichera votre position à chaque étape (en partant du coin haut gauche, x vers la droite, y vers le bas) ainsi que le prochain déplacement à effectuer.

hhhg
x=2, y=6, next: h
x=2, y=5, next: h
x=2, y=5, next: h
x=2, y=5, next: g
Fin : x=1, y=5

Dans l'exemple, la formule est hhhg donc on monte d'un case, on reste bloqué sur un mur pendant deux tours et ensuite on se déplace vers la gauche, ce qui nous amène en (1, 5).

Bon courage. Rappelez-vous de ne pas fermer les parenthèses quand ce n'est pas nécessaire !

Soumettre une solution et obtenir les pièces : https://events.planet-casio.com/avent2025
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 11/12/2025 21:01 | #


Dimartino a écrit :
Hello ! J'ai résolu très facilement "un monde de séquence", mais j'ai du mal avec "théorème de factorisation". Mais bon, je n'ai pas encore assez cherché pour m'avouer vaincu.

Merci beaucoup Lephe' pour le puzzle !

Merci pour ce retour ! J'en ai eu un autre dans le chat. Manifestement il est dur celui-là !

Voici un indice donc. Vous voulez répéter des a et des b, mais les groupes ne sont pas formé d'un seul blocs. On voit :

aaa bbbbb aaaaaaa bbb aaaaaaa bbbbb aaaaaaaa bb aa

Et donc on pense à 3a 5b 7a 3b etc, avec en vue une formule du type 3573;*(?a?b).

Évidemment, ça marche pas, il faut chercher d'autres façons de faire le découpage. Par exemple, ça pourrait être 3a 5b 3a 4a 3b etc. Mais ça, on peut pas l'obtenir avec *(?a?b), il faut insérer des ?a en plus.

Si on regarde bien, toutes les sections les plus longues sont à base de a. Essayez une formule du genre *(?a?b?a) avec une entrée bien choisie.
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Guhikl Hors ligne Membre Points: 47 Défis: 0 Message

Citer : Posté le 11/12/2025 21:07 | #


Toupie dans un labyrinthe
Cliquez pour recouvrir

Quest-ce que ça veux dire avec formule?
Fromage
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 11/12/2025 21:09 | #


Je n'ai pas compris la question ?
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Guhikl Hors ligne Membre Points: 47 Défis: 0 Message

Citer : Posté le 11/12/2025 21:10 | #


Tu as dis avec un formule... ça veux dire quoi?
Trouver une formule de longueur ≤ 8 sans chiffres qui génère une série de déplacements (h, b, g, d) menant du "x" à la sortie du labyrinthe.

Fromage
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 11/12/2025 21:11 | #


Ah il faut que tu commences au début, tous les problèmes de l'événement tournent autour d'un système où tu écris une formule et ça génère une séquence de lettres. Tu as toutes les explications dans les énoncés des premiers problèmes
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 13/12/2025 23:10 | #


Court-circuit

Je continue dans la lancée de Théorème de factorisation, pour lequel l'indice vous aura débloqué j'espère. Mais cette fois, il y a une astuce.

On peut faire beaucoup de choses avec "?" dans une formule, mais une chose qu'on ne peut pas faire c'est répéter un caractère d'entrée avec "2?" (parce que ça évalue le "?" deux fois et lit un caractère d'entrée différent à chaque fois).

Problème : Trouver une formule de longueur ≤ 16 dont les 24 premiers caractères produits sont la séquence

aac aab bbc aac abb caa bbc aac

Les espaces sont là pour la lisibilité (et pour vous tendre un piège).

La solution prévue nécessite une technique nouvelle, pas encore utilisé dans les problèmes précédents.

Soumettre une solution et obtenir les pièces : https://events.planet-casio.com/avent2025
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Dimartino Hors ligne Maître du Puzzle Points: 347 Défis: 2 Message

Citer : Posté le 15/12/2025 17:01 | #


Hello ! Petite question : à la fin du puzzle envoyer seulement l'image reconstituée suffira ou il faut également conserver la liste des solutions ?
Mon projet du moment : Memen'Casio
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 15/12/2025 18:17 | #


Il faudra la liste des solutions ! Gardez-les bien sous le coude !
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)
Lephenixnoir Hors ligne Administrateur Points: 25563 Défis: 174 Message

Citer : Posté le 15/12/2025 23:29 | # | Fichier joint


Aux limites de la légalité

Le mini-langage du générateur de séquences est très permissif. On peut mettre quasiment n'importe quoi dans les formules. De fait, les seules choses vraiment interdites sont de finir avec un chiffre ou une étoile sans rien derrière.

>>> generate("*")
<error: string index out of range>

Ça, et écrire une formule qui dépasse le temps de calcul autorisé (timeout) défini par l'appel.

Mais du coup, si on fixe une chaîne d'entrée, par exemple "a3b2c;" et qu'on tente de mettre n'importe quoi dans la formule, qu'est-ce qu'il se passe ?

>>> generate("a3b2c;a*?b", outsize=10, timeout=100)
aabbbbbbca

Fiouh, il se passe... des choses. Pour ce problème on va se limiter à 10 caractères affichés (outsize=10) et 100 étapes de calcul (timeout=100) au lieu des 1000 habituelles.

Bon donc cette formule en fait est assez cocasse parce que des fois le ? est une lettre (genre a) donc il affiche la lettre, des fois c'est un chiffre (genre 3) du coup il va lire plus loin et afficher 3 fois l'atome suivant, en l'occurrence en "b".

Si on regarde droit dans les yeux ce qui est autorisé ou pas on peut calculer que de l'ordre de 93% des formules possibles sont légales. La majorité fait des trucs bizarres. Mais surtout y'en a plein qui produiront le même résultat, ce qui est peu de la triche.

Problème : Compter combien il existe de formules légales (de longueur ≤ 8 sans compter l'entrée, sans chiffres, sans lettres autres que a, b et c) qui produisent des résultats différents quand on les exécute sur l'entrée "a3b2c;" (avec 10 caractères affichés et 100 étapes de calcul).

Pour vous faciliter la vie, un script vous est fourni en PJ dans lequel la fonction generate() renvoie une paire : chaîne de sortie, et un booléen indiquant si une erreur s'est produite.

>>> generate("a3b2c;a*?b", outsize=10, timeout=100)
('aabbbbbbca', False)
>>> generate("a3b2c;*", outsize=10, timeout=100)
('string index out of range', True)

Promis celui-là est pas dur... juste un peu calculatoire !

Soumettre la solution et obtenir les pièces : https://events.planet-casio.com/avent2025
Mon graphe (27 Juin): (MQ || Rogue Life) ; serial gint ; passe gint 3 ; Azur ; ...) || (shoutbox v5 ; v5)

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
captcha
Rafraîchissez la page si vous souhaitez obtenir un nouveau CAPTCHA.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2025 | Il y a 237 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd