Отказ от ответственности: это в значительной степени вдохновлено "Полиглот OEIS!" но исправляет проблему, которая привела к закрытию (см. раздел «Вывод») и была повторно опубликована, чтобы не аннулировать ответы.
Введение
Мы все знаем и любим онлайновую энциклопедию целочисленных последовательностей ( OEIS ). Так что, если мы сделали автономную версию интересных эпизодов? Ну, это было бы слишком просто, не правда ли, и как бы вы выбрали последовательность с нашим стандартным интерфейсом !? Нет. Нам нужно более простое решение для этого. Полиглот!
вход
Ваш ввод будет неотрицательным целым числом n
.
Выход
Ваш вывод будет либо
n
-Й ввод последовательности OEIS ИЛИ- Первые
n
записи последовательности OEIS.
Вы можете принять индекс за 1 или 0 по своему усмотрению.
Чтобы не делать этот вопрос дубликатом универсальных целочисленных констант принтеров , запрещены. Это также должно повысить уровень сложности представлений и избежать «скучных» решений;)
Последовательность является непостоянной, если существуют два члена последовательности, которые являются неравными.
Хм, так где же вызов?
Вы должны полиглот вышеупомянутой функциональности. То есть, если вы поддерживаете языки A, B и C, все должны реализовывать разные последовательности OEIS. Выбор последовательности не ограничен, за исключением того, что вам нужны разные для всех языков.
То есть, если вы запустите предоставленную программу на языке A, то будет сгенерирована последовательность X, если вы запустите предоставленную программу на языке B, то будет сгенерирована последовательность Y (с X! = Y), и если вы запустите предоставленную программу на языке C генерируется последовательность Z (с X! = Z && Y! = Z).
Кто выигрывает?
Ответ с большинством пар последовательности / языка выигрывает. Первый тай-брейк имеет размер кода (в байтах), а нижний - лучше. Второй тай-брейк - это время подачи, причем раньше он был лучше.
Какие-нибудь последние слова / правила?
- Вы должны указать, какой язык будет генерировать какую последовательность.
- Применяются стандартные правила ввода / вывода.
- Если между языками используются разные кодировки, обе программы должны использовать одну и ту же последовательность байтов.
- Язык (Python 2/3) изменения действительно считаются разными языками. Различные реализации языка (такие как Browser JS vs Node.js) также считаются разными языками.
- Применяются стандартные лазейки.
Ответы:
3 языка (1 байт) - Pyth ( A001477 ), MATL ( A000027 ), Braingolf ( A000217 )
Как?
Q
делает следующее:В MATL это означает
+ 1
, что это в основном оценивается какinput + 1
.В Pyth это означает ввод, поэтому он просто выводит ввод.
В Braingolf это встроенные треугольные числа.
Мини-полиглот
Pyth можно заменить любым из следующих языков: GolfScript , Pyke , Brachylog или Brain-Flak .
источник
10 языков, 122 байта
Я определенно могу добавить еще кучу. 1-индексируется, если не указано иное.
Обратите внимание, что я не могу быть в курсе ссылок TIO, когда я уверен, что новые изменения не повлияли на старые программы - вы можете проверить их, если хотите, но копировать более 10 новых ссылок TIO каждый раз, когда я вносю изменения становится утомительным через некоторое время. Я буду копировать новые каждые 5 обновлений или около того.
cQuents v0, A000007
Соответствующий код:
#|A=1:0;
#|A
ловит ввод и там для комментариев Python.=1
означает, что первый элемент1
, то:0
есть остальные0
, выводит указанныйn
терминn
. cQuents v0 имеет странную ошибку / функцию, которая, когда неожиданный, но действительный токен, такой как;
, читается, приводит к завершению синтаксического анализа.Попробуйте онлайн!
Пинг-понг , A001478
Соответствующий код:
#|A=1:0;~@
Выходы через код выхода. 0 индексированные.
#
пропускает следующий символ=
здесь ничего не делает1
толкает1
и:
печатает1
на STDOUT.0
толчки0
.)
ничего не делает.;
толкает ввод,~
выскакивает и толкает-n-1
.@
завершается. Код выхода - вершина стека.Попробуйте онлайн!
Axo , A001477
Соответствующий код:
}{\
0 индексированные.
}
читает и выталкивает целое число из STDIN (по какой-то причине требует завершающий перевод строки),{
печатает начало стека и\
завершает программу. Я не уверен, что делают предыдущие персонажи, но в этом случае ничего не имеет значения.Попробуйте онлайн!
брейкфак , A000027
Соответствующий код:
,[.,]
Простая кошачья программа от esolangs.org. Выводит на вход.
Попробуйте онлайн!
> <>, A000030
Соответствующий код:
#
...;oi
#
зеркала и переносы справа, которые направляют его на чтениеio;
, который выводит первый символ ввода. 0 индексированные.Попробуйте онлайн!
Рубин, A023443
Соответствующий код:
print (0 and gets.to_i-1
...)
0 индексированные. Печатает ввод минус 1.
0
верно в Ruby, но неверно в Python.Попробуйте онлайн!
Python 3, A000578
Соответствующий код:
print (0 and gets.to_i-1 or int(input())**(2+(1/2>0)));quit()
Сорванный с оригинального поста HyperNeutrino, но это довольно известный полиглот.
quit()
заканчивает программуПопробуйте онлайн!
Python 2, A000290
Соответствующий код:
#coding:utf-8
требуется для работы с древесным углем. Также сорвал оригинальный пост HyperNeutrino.quit()
заканчивает программуПопробуйте онлайн!
Древесный уголь, A001489
Соответствующий код:
⎚I±N»
0 индексированные.
⎚
очищает консоль (уголь печатает ASCII как есть) иI±N
печатает отрицательный результат ввода.»
это ошибка синтаксического анализа и завершает программу.Спасибо ASCII-только за помощь в чате.
Попробуйте онлайн!
Кардинал, A020725
Соответствующий код:
Добавляет 1 к входу и подавляет все остальные указатели.
Попробуйте онлайн!
источник
5 языков ( 05AB1E , На самом деле , CJam , желе , MATL ), 7 байтов
Попробуйте онлайн !:
источник
3 языка: Proton, A000583 ; Python 3, A000578 ; Python 2, A000290
Протон , 49 байт
Попробуйте онлайн!
Python 3 , 49 байт
Попробуйте онлайн!
Python 2 , 49 байт
Попробуйте онлайн!
объяснение
Протон не имеет
'''...'''
струн, поэтому(''',''')
становится('' ',' '')
, что почему-то не вызывает проблем. Он оценивает''
, делая(''',''')!=','
оценкуTrue
.Python делает эти строки, так что
(''',''')
это просто','
так имеет(''',''')!=','
значениеFalse
.В Python 2 для целых чисел используется разделение на полы, поэтому
1/2>0
в Python 2 оно равно false, а в Python 3 - true.источник
1//1;print(int(input())**(2+(1/2>0)+((''',''')!=',')));quit()
а затем добавите языки, такие как JavaScript5 языков, 107 байт
Perl: A000035
Использование в
=
качестве разделителя дляs///
средств можно легко исключить код , мы не хотим, и используя в)
качестве разделителя дляq{}
средств послеprint
ИНГq
во всех других языках, мы можем просто работать на<>
непосредственно, не беспокоясь.Попробуйте онлайн!
Рубин: A001477
В Ruby
//
это фактически/
(деление на)/.../
(совпадение с регулярным выражением), поэтому до тех пор, пока регулярное выражение завершается и преобразуется в число, мы можем безопасно разделить его.__id__
короче.to_s.ord
, тогда мы просто содержим остальную часть кода, который нам не нужен, в'
s, установивq
егоgets
иprint
его вместе со всеми остальными.Попробуйте онлайн!
Python 2: A005843
Используя стандартную уловку, чтобы отличить 2 от 3, и вложения, которые мы не хотим,
"""
и комментарии.Попробуйте онлайн!
Python 3: A008585
Попробуйте онлайн!
JavaScript (браузер ES6): A000027
Довольно просто для JS, в итоге оказалось проще не использовать существующее повторно
print
и перейти на SpiderMonkey, но это также возможно.источник
6 языков: Кубически 5/6/7/8/9/10,
444032 байтаВычеркнуто 44 все еще регулярно 44; (
Это печатает:
Объяснение:
Попробуйте онлайн! (Кубически 6x6x6)
источник