Непалиндромный Полиглот Боггл

11

Вступление

Число 101 является палиндромом, поскольку оно читает то же самое вперед и назад. Число 105 нет. Тем не менее, 105 в базе восемь записывается как 151, который является палиндромом. С другой стороны, 103 не является палиндромом в любом основании от 2 до 101. Следовательно, 103 является строго непалиндромным .

Точное определение таково: неотрицательное целое число n строго непалиндромно, если оно не является палиндромом в любом основании от 2 до n-2 включительно.

Первые несколько строго непалиндромных чисел 0, 1, 2, 3, 4, 6, 11, 19, 47, 53, 79, 103, 137, 139, 149, 163, 167, 179, 223, 263, 269...( A016038 )

Напишите полную программу, которая берет число x из STDIN и печатает x- е строго непалиндромное число. Например, ввод 5будет производить вывод 4.

Вызов

Задача состоит в том, чтобы написать несколько (одну или несколько) программ, каждая из которых решает эту задачу на своем языке.

Затем вы должны поместить все программы в прямоугольную сетку символов. Программы доступны в стиле Boggle. То есть переходите от одного символа к соседнему символу (в том числе по диагонали), никогда не используя один и тот же символ более одного раза.

Например, следующая сетка:

abc
bdc

включает в себя слова abc, ccd, bbad, и bcdb, а не ac, bdd, bcbили cbbc.

Каждая программа должна быть найдена в сетке с использованием этих правил. Однако вы можете использовать один и тот же символ в нескольких программах.

Гол

Ваша оценка - это количество символов в сетке, деленное на количество программ. Самый низкий балл побеждает!

правила

  • Два языка считаются разными, если они обычно идут под разными именами, игнорируя номера версий. Например, C и C ++ отличаются, но Python 2 и Python 3 одинаковы.
  • Все символы в сетке должны быть из печатного ASCII, то есть, от, до ~, кодовые точки до 20конца FE.
  • Каждая программа должна состоять только из печатного ASCII, плюс переводы строки. Вставляя программу в сетку, замените каждую новую строку пробелом.
    • Пробел в сетке может представлять пробел в одной программе и символ новой строки в другой.
  • Сетка должна быть прямоугольником.
  • Не каждый персонаж должен использоваться в программе.
Ypnypn
источник
Разве однозначные числа не являются палиндромными? Они читают то же самое взад и вперед.
Рето Коради
@RetoKoradi Правильно. Вот почему мы рассматриваем только базы меньше n-1, поэтому всегда будет как минимум две цифры.
Ypnypn

Ответы:

10

19x2 = 38, 2 программы, оценка: 26 19,5 19

Вот доска:

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

Это содержит следующие программы:

CJam (27 байт)

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

Проверьте это здесь.

Это символы платы, используемые для этого кода:

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

GolfScript (34 байта)

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

Проверьте это здесь.

Это символы платы, используемые для этого кода:

-:\~{.,><1\b W%}} }
1W {) 2W{$ase.=,do*
Мартин Эндер
источник