Пол - один из ваших бельгийских знакомых, и он хотел бы, чтобы вы создали программу, которая выводит хотя бы одну из следующих пяти строк :
12496=>14288=>15472=>14536=>14264
14264=>12496=>14288=>15472=>14536
14536=>14264=>12496=>14288=>15472
15472=>14536=>14264=>12496=>14288
14288=>15472=>14536=>14264=>12496
Он представляет друзей, которыми он больше всего гордится, и он хотел бы поесть с ними. Павел также считает, что число 6 идеально, и это единственное число, которое стоит использовать. Таким образом, вы не можете использовать любую другую цифру, кроме «6» в вашем коде (от 0 до 5 и от 7 до 9 запрещены). Ваша программа не может принимать какие-либо входные данные. Вывод может содержать мусор до и / или после строки, но должен содержать хотя бы одну из указанных выше строк.
Например, это правильный вывод:
220frefze
f**14288=>15472=>14536=>14264=>12496**fczfe fz**15472=>14536=>14264=>12496=>14288**zfe
fzehth
Я «легкомысленно» намекнул в вопросе, как я ожидаю, что это будет решено, но как знать? Может быть, есть лучший способ ... Надеюсь, вам весело.
Это код-гольф: выигрывает самая низкая оценка в байтах.
Ответы:
05AB1E ,
1817 байтПопробуйте онлайн!
объяснение
Короче говоря, мы рассчитываем каждое число как
f(n+1) = sum(divisors(f(n)) - f(n)
источник
Пайк, 16 байт
Попробуй это здесь!
Каждый раз, когда строковый литерал находится в конце программы, он заменяет его токеном непосредственно перед ним, сохраняя 1 байт в таких случаях, как этот. Пайк в
factors
функции не включает в себя само число , ни 1. Если число было разрешено, 1 байты могут быть сохранены путем заменыw$
с4
Пайк, 21 байт
Попробуй это здесь!
Создайте список необходимых номеров и объедините их. Не очень интересно, кроме трюка со строками.
источник
MATLAB, 44 байта
Попробуйте онлайн!
Я не нашел шаблон в числах (и в любом случае было бы трудно использовать шаблон для чего-либо, поскольку я не могу использовать цифры), поэтому я просто пойду на наивный подход.
'=>@EBIJ=@>DDIJ=A@C>IJ=@A?BIJ=@>B@'
является строкой,'12496=>14288=>15472=>14536=>14264'
когда 12 добавляется к ASCII-значениям. Теперь введите эту строку, вычтите6+6
и объедините с пустой строкой,''
чтобы преобразовать ее в массив символов.источник
=>
.JavaScript (ES6), 57 байт / 47 (UTF-8) символов
Спасибо пользователю 5090812 за 10 B
объяснение
Сначала мы создаем массив и заполняем его символами в строке
バ㟐㱰㣈㞸
. Затем мы зациклим строку (a
имеет значение текущего элемента) и изменим символ на его код символа. Затем мы объединяем все значения в массиве=>
.Старый: 67 байт
объяснение
Сначала мы создаем массив длиной 5. Затем мы меняем значения массива в каждом индексе для кода символа персонажа с тем же индексом в строке
バ㟐㱰㣈㞸
, которые являются номерами всех друзей Павла по порядку. Когда мы это получили, мы объединяем массив и используем в=>
качестве разделителя.использование
Чтобы использовать это, просто запустите это:
Выход
источник
Рубин, 36 байт (26 символов)
Потому что, почему бы и нет. Скучно, как ад.
старая версия - 53 байта
Объяснение: кодирование чисел в базе 25 дает 5 свободных строк по шесть, для их декодирования мне нужно только представить число 25, используя только 6: (6-1) (6-1) => ~ -6 ~ -6
источник
Perl 6 ,
6359 байтДекодирует числа из базы 25, потому что это единственная база, поддерживаемая
.parse-base
(от 2 до 36), где ни одна из них не имеет недопустимых цифр.Спасибо Нейлу за -3 байта.
Perl 6 ,
8275 байтРасшифровывает номер
15472
в базе 36, а затем генерирует последовательность, вычисляя каждое число как сумму собственных делителей предыдущего числа.Perl 6 , 69 байт (47 символов) - неконкурентный
Не использует никакие запрещенные цифры ASCII, вместо этого используются цифры Unicode из блока Arabic-Indic (2 байта каждая)!
{ }
струнной интерполяции убедитесь , что они разбираются как Perl 6 числовых литералы, а затем строковые их ASCII - представления.Хорошо, это обман - вот почему я не использовал его в качестве основного ответа ... :)
источник
--$/*$/
?--($/=6)*$/)
.Желе ,
54 байтаПечатает все пять строк. Использует тот факт, что вывод «мусора» разрешен и скрывает пять строк в 10 3003 символа вывода.
Как это устроено
источник
C
948477 байтГлупый простой. Особая благодарность @Neil
f () {printf ("% d =>% d =>% d =>% d =>% d", '~' 'r' - 'd', '~' 'd' - 'h', ' ~ ' ' r '-' L ',' ~ ' ' z '+' d ',' ~ '*' t '-' P ');}источник
char*m
внутреннюю часть,for()
чтобы сохранить байт, и это также делает функцию многократно используемой (необходимое условие функций). Кроме того, вы выводите завершающий ноль;*++m
бы исправить это. Кроме того , вы можете сохранить несколько байт путем вычитания 60 вместо 66:g(){for(char*m="!mnpuryzmpnttyzmqpsnyzmpqoryzmpnrp";*++m;)putchar(*m-66+6);}
.initial declaration used outside C99 mode
но я рад упростить путчар. Благодарность!PHP,
736360 байтБеги с
-nr
.чуть менее ленивым: взял строку в списке ,
=>1(ascii)(ascii)
т.е.:
124
,96
,=>1
,42
,88
,=>1
,54
,72
,=>1
,45
,36
,=>1
,42
,64
;печать
=>1
по строковому индексу, добавление кода ASCIIсломать
источник
C ++, 92 байта
источник
PHP, 53 байта
Шестнадцатеричный дамп:
Выход:
Объяснение:
Каждая из пятизначных целочисленных секций кодируется как беззнаковый короткий прямой порядок байтов, затем объединяется вместе, и результат распаковывается. Это происходит, чтобы произвести поток байтов, который не имеет оскорбительных цифровых символов, который затем жестко закодирован в строку. Для извлечения распакуйте поток, распакуйте двухбайтовые шорты, интерпретируйте каждый как строку и соединитесь с
>=
.источник
Java 8, 134 байта
Golfed:
Ungolfed, полная программа:
источник
Пакет, 191 байт
Я предполагаю, что для вычисления каждого числа потребуется не менее 32 байтов, используя только
6
s плюс еще 32, чтобы распечатать их все, что уже составляет 192 байта, поэтому я выигрываю, вычисляя дружественную цепочку. Кроме того, я думаю, что пять%
секунд подряд - это рекорд для меня. Кроме того, аккуратный пакетный трюк:%n%
подставляется передfor
оценкой цикла, поэтому цикл вычисляет все факторыn
и вычитает ихn
, что приводит к отрицательному результату.источник
Желе , 12 байт
Печатает четвертую строку и ничего больше.
Попробуйте онлайн!
Как это устроено
источник
Python 2,
7872 байтаРедактировать - Спасибо Стью Гриффину за сохранение 6 байтов!
Кроме того, другим решением будет вывод всех возможных перестановок. ОП говорит, что мусор в порядке.
Слишком много избыточности при конвертации из
int
илиlist
вstr
. Я предполагаю, что это было бы легче в некоторых эзотерических языках, но я не знаю ни одного из них.источник