Pour les chiffres non nuls sur un pavé numérique standard
789
456
123
Pensez à placer un chevalier d'échecs à n'importe quel chiffre et à le déplacer avec un nombre quelconque de sauts en L normaux, en traçant un entier décimal positif. Quels entiers positifs peuvent être exprimés de cette manière?
L’un d’eux est 38
, puisque le chevalier pourrait commencer sur le 3
et aller à gauche et jusqu’à 8
. 381
et 383
sont également possibles.
3
lui-même est possible si aucun saut n'est effectué (ce qui est autorisé). Cela est 5
également le cas, mais aucun autre chiffre ne peut être atteint à partir de la 5
, c'est donc le seul numéro où le chiffre 5
apparaît.
Ecrivez un programme ou une fonction qui prend un entier décimal positif (vous pouvez le prendre comme une chaîne si vous le souhaitez) et affiche ou renvoie une valeur de vérité si le nombre peut être exprimé par un chevalier sur un pavé numérique de la manière décrite, mais renvoie sinon une valeur de fausseté .
Le code le plus court en octets gagne. Tiebreaker est une réponse plus tôt
Exemples
Vérité
1, 2, 3, 4, 5, 6, 7, 8, 9, 16, 18, 38, 61, 81, 294, 349, 381, 383, 729, 767, 38183, 38383, 18349276, 183492761, 618349276
Fausseté:
10, 11, 50, 53, 55, 65, 95, 100, 180, 182, 184, 185, 186, 187, 188, 189, 209, 305, 2009, 5030, 3838384, 4838383, 183492760
78963214
, répétée encore et encore. Comptez les distances - c'est toujours quatre, d'une manière ou d'une autre. J'aurais dû être plus clair et avoir explicitement dit qu'il fallait l'écrire dans l'ordre des cercles.
123...9
. Désolé