L'art de la programmation informatique
EDIT: Je sais que nous ne sommes pas censés modifier les nouvelles exigences après la première publication, mais pour autant que je sache, cette exigence est implicite dans toutes les questions ici:
Expliquez votre réponse! Au moins un peu. Ainsi, un lecteur occasionnel a la chance de suivre vos réflexions et d'apprécier votre génie.
En voici une simple mais j'espère amusante:
Pouvez-vous recréer l'un des modèles suivants?
Règles:
Arithmétique entière uniquement
Strictement local, c'est-à-dire que seules les coordonnées x, y d'un point peuvent être utilisées pour calculer sa couleur
Aucune table de recherche
Pas de forçage brutal (c'est pourquoi la balise no-computers est là au cas où vous vous poseriez la question), à part cela, vous pouvez utiliser les ordinateurs comme bon vous semble.
(5.) Plus c'est simple, mieux c'est
Remarques:
Les motifs sont tous périodiques et utilisent des couleurs 0,1,2,3,4.
Vous n'avez pas besoin d'utiliser exactement les mêmes couleurs, cinq couleurs suffiront.
Je n'ai délibérément mis aucune version texte des modèles parce que vous n'êtes pas censé les forcer brutalement.
Je suis encore assez nouveau dans la création de puzzles, tout commentaire est le bienvenu.
Un exemple avec solution:
![]()
Réponse possible $f(x,y) = \left [ \lfloor \frac x 3 \rfloor - \lceil \frac {y+2x+1} 6 \rceil - \lceil \frac {y+1} 6 \rceil \right ] \mod 5$
Réponses
Je crois que le premier motif est (avec (0,0) en haut à gauche)
$$\Biggl\{\left\lfloor\frac{2x+3y-2}8\right\rfloor+\left\lfloor\frac{-3x-2y+3}8\right\rfloor \Biggr\} \mathop{\textrm{mod}}5.$$
Et le dernier est (avec (0,0) en haut à gauche)
$$\Biggl\{x+y+m(x-y)-\left\lfloor\frac x4\right\rfloor\Biggl\}\mathop{\textrm{mod}}5$$
où
$m(x)$ va $0, +1, 0, -1$ cela dépend de $x$ mod 4. Il existe de nombreuses façons de définir sans table de recherche $m$; par exemple$m(x)=(x \mathop{\textrm{mod}}2)\cdot(-1)^{\lfloor x/2\rfloor}$.
La question a été mise à jour pour inclure une demande «d'expliquer votre réponse».
Je n'ai pas beaucoup d'explications à offrir pour le premier modèle. Je viens
j'ai pensé que je devrais essayer des choses de la forme $\lfloor\textrm{linear}(x,y)\rfloor+\lfloor\textrm{linear}(x,y)\rfloor\pmod5$, avec les coefficients des deux choses linéaires correspondant de manière à donner au motif la bonne sorte de symétrie; la périodicité du motif suggérait que je voulais probablement 8 ou 16 dans les dénominateurs, un peu d'expérimentation a montré (comme cela aurait dû être évident dès le départ) que la différence entre les$x$ et $y$Les coefficients apparaissent dans le nombre de "bandes" du sud-ouest au nord-est, et il n'y a eu que quelques cas pour essayer de voir s'ils donnaient le bon modèle. Après avoir trouvé quelque chose avec le bon motif mais un décalage dans$x$ et $y$, J'ai remplacé $x,y$ avec $x-\delta,y-\epsilon$ où $\delta,\epsilon$était le décalage dont j'avais besoin pour produire, et simplifié. Terminé.
Je peux en dire un peu plus sur le quatrième.
Tout d'abord, le motif de bandes très évident suggérait qu'à l'intérieur de mon "... mod 5" je voulais un terme $\lfloor x/4\rfloor$. Le reste devait alors produire un joli motif périodique simple de "serpent". Les serpents vont du sud-ouest au nord-est en allant à droite, à droite, en haut, en haut, à droite, à droite, en haut, en haut, à droite, à droite, etc. Si nous prenons simplement les contours de$x+y$alors nous aurions des lignes diagonales simples, qui sont en fait assez similaires à ces serpents; nous pouvons transformer les lignes diagonales en serpents en ajoutant et en soustrayant des 1 dans un ensemble d'endroits soigneusement sélectionnés. Si vous ajoutez 1 tout le long d'une ligne diagonale nord-ouest-sud-est, vous poussez effectivement tous les contours d'une unité en diagonale vers l'intérieur; si vous soustrayez 1, vous les poussez effectivement d'une unité en diagonale vers l'extérieur. En regardant un peu le motif, on voit que ce qu'il faut, c'est que la moitié des diagonales NW-SE reste telles qu'elles sont et l'autre moitié d'alterner entre être poussé vers l'intérieur et être expulsé, ce qui signifie que nous devons ajouter cette fonction.$m(x,y)$ avant de réduire le mod 5.
(2 sur 4)
$(0,0)$ est en bas à gauche, pas en haut à gauche.
2ème modèle:
$f(x,y) = \left [ \left\lceil \frac {3x} 8 \right\rceil - \left\lfloor \frac {5x} 8 - \frac {y} 4 \right\rfloor \mod 5 - \left\lfloor -\frac {y} 8 \right\rfloor \mod 5 \right] \mod 5$
![]()
3ème motif:
$f(x,y) = \left [ \left\lceil \frac {3x+3} 7 \right\rceil - \left\lfloor \frac {6x-y} 7 \right\rfloor - 7 \right] \mod 5$
![]()