Boggle polyglotte non palindromique

11

introduction

Le nombre 101 est un palindrome, car il se lit de la même manière en arrière et en avant. Le nombre 105 ne l'est pas. Cependant, 105 en base huit est écrit 151, ce qui est palindromique. D'un autre côté, 103 n'est pas un palindrome dans n'importe quelle base de 2 à 101. Par conséquent, 103 est strictement non palindromique .

La définition précise est: Un entier non négatif n est strictement non palindromique s'il n'est pas un palindrome dans n'importe quelle base entre 2 et n-2 inclus.

Les premiers nombres strictement non palindromiques sont 0, 1, 2, 3, 4, 6, 11, 19, 47, 53, 79, 103, 137, 139, 149, 163, 167, 179, 223, 263, 269...( A016038 )

Écrivez un programme complet qui prend un nombre x de STDIN et imprime le x ème nombre strictement non palindromique. Par exemple, l'entrée 5produirait la sortie 4.

Défi

Le défi consiste à écrire plusieurs (un ou plusieurs) programmes, chacun résolvant cette tâche dans une langue différente.

Ensuite, vous devez placer tous les programmes dans une grille rectangulaire de caractères. Les programmes sont accessibles à la manière de Boggle. Autrement dit, passez d'un personnage à un personnage voisin (y compris en diagonale), sans jamais utiliser le même personnage plus d'une fois.

Par exemple, la grille suivante:

abc
bdc

inclut les mots abc, ccd, bbadet bcdb, mais pas ac, bdd, bcbou cbbc.

Chaque programme doit être trouvé dans la grille en utilisant ces règles. Cependant, vous pouvez utiliser le même caractère dans plusieurs programmes.

But

Votre score est le nombre de caractères dans la grille, divisé par le nombre de programmes. Le score le plus bas gagne!

Règles

  • Deux langues sont considérées comme différentes si elles portent généralement des noms différents, en ignorant les numéros de version. Par exemple, C et C ++ sont différents, mais Python 2 et Python 3 sont identiques.
  • Les caractères de la grille doivent tous être en ASCII imprimable, c'est-à-dire de à ~, des points de code à 20travers FE.
  • Chaque programme ne doit comprendre que de l'ASCII imprimable, plus des retours à la ligne. Lorsque vous insérez un programme dans la grille, remplacez chaque nouvelle ligne par un espace.
    • Un espace dans la grille peut représenter un espace dans un programme et une nouvelle ligne dans un autre.
  • La grille doit être un rectangle.
  • Tous les personnages n'ont pas besoin d'être utilisés dans un programme.
Ypnypn
la source
Les nombres à un chiffre ne sont-ils pas palindromiques? Ils lisent les mêmes en arrière et en avant.
Reto Koradi
@RetoKoradi Correct. C'est pourquoi nous ne considérons que les bases inférieures à n-1, donc il y aura toujours au moins deux chiffres.
Ypnypn

Réponses:

10

19x2 = 38, 2 programmes, score: 26 19,5 19

Voici le tableau:

-:\~{.,><1\b_W%}}g}
1Wq{)_2W{$ase.=,do*

Il contient les programmes suivants:

CJam (27 octets)

Wq~{{)_,2>W<{1$\b_W%=},}g}*

Testez-le ici.

Ce sont les caractères du tableau utilisé pour ce code:

   ~{ ,><1\b_W%}}g}
 Wq{)_2W{$    =,  *

GolfScript (34 octets)

-1:W\~{{).,2>W<{1$\base.W%=},}do}*

Testez-le ici.

Ce sont les caractères du tableau utilisé pour ce code:

-:\~{.,><1\b W%}} }
1W {) 2W{$ase.=,do*
Martin Ender
la source