Ваша задача - сгенерировать n-й член последовательности RATS, где n - вход. Последовательность RATS также известна как последовательность обратного добавления, затем сортировки. Эту последовательность также можно найти здесь: http://oeis.org/A004000 .
контрольные примеры:
0 > 1
1 > 2
2 > 4
3 > 8
4 > 16
5 > 77
6 > 145
7 > 668
Например, выход для 5 - 77, потому что 16 + 61 = 77. После этого 77 сортируется.
Самое короткое представление выигрывает. Это мой первый вызов, поэтому я надеюсь, что это не дубликат или что-то в этом роде.
code-golf
sequence
arithmetic
justaprogrammer
источник
источник
Ответы:
MATL , 11
12байтВвод - это строка (с одинарными кавычками), представляющая целое число в унарном формате . Строковый ввод разрешен вызовом, и унарный является допустимым форматом .
Попробуйте онлайн!
объяснение
источник
05AB1E , 6 байтов
Код:
Объяснение:
Это также работает с 0-байтовой программой.
источник
05AB1E
, сначала удалив начальный ноль, а затем пропустив1
, как1E==E
. Тогда вы получите только5ABE
-2 байта.CJam, 15 байтов
Проверьте это здесь.
объяснение
источник
Pyth,
171312 байтПопробуйте это на онлайн-переводчике .
источник
Python 2, 72
Рекурсивная функция, использующая сокращение Python 2 для
__repr__
, которое будет прерываться, когда функция достигнет очень больших значений (L
будет добавлено к строке числа), я не уверен из спецификации, есть ли место, где мы можем остановиться , но, если не изменить,str()
добавляет только 6 байтов, но затем становится немного короче для вывода в виде строки, на 75 байтов:1 байт сохранен благодаря Trichoplax на этой версии
источник
or
вторым блоком кода?JavaScript ES6, 70 байт
Сохранено 1 байт благодаря @ user81655
вздох JavaScript действительно многословен. Много (> 50%) код только случай с функцией струны + массив + присоединиться + бросок к междунар. Я пытался уменьшить, eval и все виды вещей, но это, кажется, самый короткий.
Попробуйте онлайн (все браузеры работают)
источник
f=n=>n?[...+[...b=f(n-1)].reverse().join``+b+''].sort().join``:'1'
если разрешенаБрахилог , 19 байт
объяснение
источник
Haskell, 67 байт
Пример использования:
(g"1"!!) 7
->"668"
.Это прямая реализация определения: начиная с
"1"
, многократно добавлять результат обратного добавления-сортировки текущего элемента. Основная функция(g"1"!!)
выбираетi
й элемент.источник
Юлия, 77 байт
Это лямбда-функция, которая принимает целое число и возвращает целое число. Чтобы вызвать его, назначьте его переменной.
Ungolfed:
источник
Желе,
1312 байтЯ уверен, что это, вероятно, можно сыграть в гольф, так как это мой первый ответ на Jelly / на молчаливом языке.
РЕДАКТИРОВАТЬ: Сохранено 1 байт, благодаря Денису
источник
Java 1.8, 251 байт
расширенный
источник
interface
R вместоclass
R, который на 4 байта короче?Серьезно, 17 байтов
Попробуйте онлайн!
Объяснение:
источник
Луа,
179156 байтЯ не вижу, как я мог бы играть в гольф больше, но я уверен, что есть способ.Благодаря @LeakyNun я нашел время, чтобы разобраться с этим и правильно сыграть в него, возможно, я все еще смог бы выиграть несколько байтов, используя другой подход.Неуправляемый и объяснения
источник
a=a<1 and 1or
например).Brachylog 2, 11 байтов, языковые проблемы постдат
Попробуйте онлайн!
объяснение
Я не совсем понимаю, что это делает с нулевыми цифрами, но в вопросе не говорится о какой-либо конкретной обработке, и они, вероятно, в любом случае не появляются в последовательности.
источник
ES6, 79 байт
82 байта без
eval
:Все эти обращения болезненны.
не @ edc65 я фактически спас 4 байта при переходе от
map
кreduce
этому времени ... не сомневаюсь , что вы будете доказать , что я неправ снова , хотя.источник
for
Короче:n=>eval("for(r=1;n--)r=+[...+[...r+''].reverse().join``+r+''].sort().join``")
n=0
, даже после того, как я исправил синтаксические ошибки.Python 2, 91 байт
Ввод в виде целого числа, результат выводится на экран.
Я думаю, это может быть намного короче с некоторой магией рекурсии, но я пока не могу обернуть ее вокруг. Позже выгляжу свежо и, надеюсь, улучшу этот.
источник
Python 2, 83 байта
источник
Perl 6 , 40 байт
(Если вы хотите, чтобы он возвращал Int, поставьте
+
прямо перед этим[~]
)Использование:
источник
Mathematica 10,3,
6661 байтДовольно просто.
источник
PHP, 102 байта
Онлайн версия
PHP, 95 байт
n <= 39
источник
Java ,
171167163160 байтПопробуйте онлайн!
Не самая длинная запись! \ О /
источник
Python 2 , 70 байт
Попробуйте онлайн!
источник
Аксиома, 146 байт
тест и результаты [последовательность RATS]
источник
Tcl , 91 байт
Попробуйте онлайн!
источник