Выведите / распечатайте этот блок текста:
1234567890
2468013579
3691470258
4815926037
5049382716
6172839405
7306295184
8520741963
9753108642
0987654321
Приемлемые форматы включают в себя:
- Конечные символы новой строки / пробелы
- Список строк
- Список списков персонажей
- Список списков целых чисел
Однако список целых чисел недопустим, поскольку последняя строка не является целым числом.
Это код-гольф . Кратчайший ответ в байтах побеждает. Применяются стандартные лазейки .
code-golf
math
kolmogorov-complexity
Дрянная Монахиня
источник
источник
Python 2 ,
4947 байтПопробуйте онлайн!
источник
Желе , 7 байт
Попробуйте онлайн!
Использует алгоритм Мартина.
источник
МАТЛ ,
1211 байтСохранил байт благодаря Луису. Я постоянно забываю, что
&
это ярлык для дублирования и транспонирования.Попробуйте онлайн!
Используя алгоритм @ Martin:
x*y % 11 % 10
Объяснение:
Тот же счет:
источник
t!*
на&*
APL (Dyalog) , 13 байт
Попробуйте онлайн!
Порт моего ответа Mathematica .
источник
CJam (17 байт)
Онлайн демо
источник
Сетчатка , 59 байт
Число байтов предполагает кодировку ISO 8859-1.
Попробуйте онлайн!
объяснение
Еще одна реализация алгоритма ...% 11% 10 . Забавная часть работы с регулярным выражением состоит в том, что мы можем позаботиться об обоих вычислениях по модулю одновременно.
Инициализируйте строку до десяти
1
с.Замените каждый из них запятой, единицей и префиксом перед ним. Это дает
,1,11,...,1111111111
, то есть одинарный диапазон.Теперь замените каждый из элементов диапазона всей строкой, за которой следует перевод строки. Это дает нам сетку унарных чисел 10х10, обозначающую текущий столбец.
Сопоставьте каждый
1
и определите, в каком ряду он находится, повторяя одно и то же число раз. Замените на1
то, что много1
с. Это умножает значения в каждой строке на 1-й индекс строки.Теперь давайте сделаем мод 11, мод 10 за один шаг. Чтобы сделать мод 11 , мы обычно просто удаляем все
1{11}
из строки, оставленной с остатками. А потом мы удалим1{10}
после этого. Но если мы просто удалим десять1
с плюс другое, если это возможно, жадность движка регулярных выражений будет делать для нас мод 11 как можно дольше, а если нет, то он попробует хотя бы мод 10 .Наконец, мы просто конвертируем каждое число в десятичное, заменяя его длиной.
источник
05AB1E , 14 байтов
Попробуйте онлайн!
Использует алгоритм Мартина, как обычно.
источник
Haskell, 43 байта
источник
Javascript (ES6),
70 6456 байтСохранено 4 байта благодаря Shaggy и 8 байтов благодаря Arnauld.
источник
_=>[...a=Array(10)].map((_,x)=>[...a].map((_,y)=>(x+1)*++y%11%10))
. Вы экономите мне 4 байта, яmap()
и еще 3 байта, используя1e9+''
вместоArray(10)
. Это приводит к_=>[...1e9+''].map((_,x,a)=>a.map((_,y)=>-~x*++y%11%10))
.1e9
трюк. Я этого не знал. Я действительно думал об использовании третьего аргумента, но по какой-то причине я не использовал его.Джапт ,
161211 байтОказывается, это был мой 200 (неотвеченный) ответ здесь :)
Похоже, это та же самая формула, которую заметил Мартин .
Протестируйте это (
-R
пометьте только для визуализации)объяснение
источник
-R
флагJava 8, 84 байта
Использует тот же алгоритм, что и ответ @MartinEnder 's Mathematica : 1-индексированный
x*y%11%10
.Объяснение:
Попробуй это здесь.
источник
Python 2 ,
5852 байта-6 байт благодаря offcialaimm.
Использует алгоритм Мартина, который я не понимаю, как он придумал его так быстро. о0
Попробуйте онлайн!
источник
r=range(1,11)
сохраняют 6 байтовPyth, 13 байт
Попробуй здесь
-1 спасибо КарлКастор .
Давай дууууууупе!
источник
e
вместо% T
R , 19 байт
Попробуйте онлайн!
Наименьший R-образный бит кода R, который я когда-либо писал. Использует тот же алгоритм, что и ответ Мартина Эндера (и почти все остальные ответы).
x %o% y
так же, какouter(x, y)
.источник
Древесный уголь ,
30 2919 байтПопробуйте онлайн!
Использует формулу Мартина .
источник
»
s, и хотя вы можете использоватьω
вместо этого,””
вы можете сохранить целую кучу байтов, используя,⸿
как это становитсяFχ«FχI﹪﹪×⁺¹ι⁺¹κ¹¹χ⸿
. (До того, как я узнал об этом,⸿
я бы предложил,J⁰ι
что бы сэкономило несколько байтов.)⸿
обратный оператор, что он делает в конце вашего кода без аргументов? Это задокументировано?⮌
является оператором Reverse,⸿
являетсяmove cursor to start of next line
символом (как,¶
но может быть в отдельной строке).C (gcc) , 70 байт
Попробуйте онлайн!
источник
QBIC , 17 байт
Это, конечно, использует метод Мартина. Это переводится как этот код QBasic .
объяснение
источник
C #, 81 байт
Тот же алгоритм, что и у большинства других ответов, и, по сути, порт C # @Kevins Java-ответа.
источник
Сетчатка , 79 байт
Попробуйте онлайн!
источник
GolfScript ,
3724 байтаПопробуйте онлайн!
-13 благодаря умному трюку, предложенному Мартином Эндером .
источник
{
->;
,}
->`
), вы можете по крайней мере отбросить первую[
.{){\)*11%10%}+10,/n}10,/
/
. ;)int blk +
->{int space contents-of-blk}
.+
трюк ... хотя я немного изменил твой кодC (gcc) , 59 байт
Попробуйте онлайн!
источник
Сетчатка ,
9385 байтПопробуйте онлайн!
источник
Пайк, 15 байт
Попробуй это здесь!
источник
Пайк, 13 байт
Попробуй это здесь!
источник
PHP , 54 байта
Попробуйте онлайн!
PHP , 56 байт
Попробуйте онлайн!
источник
()
.for(;<0>$y++||10>$x+=$y=print"\n";)echo($x+1)*$y%11%10;
for($x=1;11>++$y||11>$x+=$y=print"\n";)echo$x*$y%11%10;
J , 27 байт
Попробуйте онлайн!
Использует тот же трюк, что и в ответе Мартина Эндера Mathematica .
источник
TECO, 45 байт
(Довольно) прямолинейная реализация ответа Рода на Python.
Использование вставок, определяемых <ESC>, и управляющего символа для команды ^ T спасло бы еще
трипять байтов за счет читабельности.Использование формулы Мартина mod-11 / mod-10 фактически увеличивает его на 43 байта, используя элементы управления для ^ A и ^ T, главным образом потому, что у TECO нет оператора мод.
Мод 11 выполняется постоянно, увеличивая число в qn на -11 всякий раз, когда оно превышает 10.
qn\r0a^T
Последовательность вставляет число в буфере редактирования в виде десятичных цифр, переворачивает последнюю последнюю цифру, извлекает ее из буфера и печатает ее, по сути дела мод-10.Я ожидал, что это будет короче. Ну что ж.
источник