Энциклопедия целочисленных последовательностей (OEIS) представляет собой онлайновую базу данных целочисленных последовательностей. Он содержит около 280000 последовательностей математического интереса.
Примеры последовательностей:
Ваша задача - написать программу или функцию, которая отображает столько последовательностей OEIS, сколько вы можете, с исходным кодом не более 100 байтов . Ваша программа должна принять в качестве входных данных идентификатор последовательности (без добавления A
и нулей) и вывести 20 первых чисел в этой последовательности.
Вам не разрешается получать данные непосредственно с веб-сайта OEIS; все последовательности должны быть вычислены вашим кодом.
счет
Оценка - это количество последовательностей OEIS, которое может отобразить программа. Ответчики должны будут перечислить идентификаторы последовательностей, распознаваемых их программой.
пример
Вот правильный ответ в Java 8:
(int a) -> {
for (int i = 0; i < 20; i++) {
System.out.println(a==27?i+1:i*i);
}
};
Эта программа может отображать натуральные числа (A000027 - ввод 27) и квадраты (A000290 - ввод 290), таким образом, ее оценка равна 2.
Заметка
Пожалуйста, избегайте очистки всего сайта OEIS :-) вы можете скачать имена последовательностей (около 3 мегабайт) или значения последовательностей (около 9 мегабайт). Обратите внимание, что эта загрузка подпадает под действие Лицензионного соглашения с конечным пользователем OEIS .
Ответы:
CJam (
2182 27803034 последовательностей)Это дает правильные ответы для инклюзивных диапазонов
[A040000, A040003]
,[A040005, A040008]
,[A040011, A040013]
,A040015
,[A040019, A040022]
,A040024
,[A040029, A040033]
,A040035
,A040037
,[A040041, A040043]
,A040048
,A040052
,[A040055, A040057]
,A040059
,A040063
,[A040071, A040074]
,A040077
,A040080
,[A040090, A040091]
,[A040093, A040094]
,A040097
,A040099
,[A040109, A040111]
,A040118
,A040120
,[A040131, A040135]
,A040137
,A040139
,[A040142, A040143]
,A040151
,[A040155, A040157]
,A040166
,A040168
,[A040181, A040183]
,[A040185, A040968]
[A041006, A041011]
,[A041014, A042937]
A006983
,[A011734, A011745]
,[A023975, A023976]
,[A025438, A025439]
,[A025443, A025444]
,A025466
,A025469
,[A034422, A034423]
,A034427
,A034429
,A034432
,A034435
,[A034437, A034439]
,A034441
,A034443
,A034445
,A034447
,[A034449, A034459]
,[A034461, A034462]
,[A034464, A034469]
,A034471
,A034473
,[A034475, A034477]
,[A034479, A034487]
,[A034489, A034490]
,[A034492, A034493]
,A034495
,[A034497, A034512]
,[A034514, A034516]
,[A034518, A034523]
,[A034525, A034582]
,A036861
,A047752
,A052375
,A055967
,A061858
,A065687
,A066035
,A067159
,A067168
,A070097
,A070202
,A070204
,[A070205, A070206]
,A072325
,A072769
,A076142
,A082998
,A083344
,A085974
,A085982
,A086007
,A086015
,A089458
,A093392
,A094382
,A105517
,A108322
,A111855
,A111859
,[A111898, A111899]
,A112802
,A122180
,A129947
,A137579
,A159708
,[A161277, A161280]
,A165766
,A167263
,A178780
,A178798
,A180472
,A180601
,A181340
,A181735
,A184946
,A185037
,A185203
,[A185237, A185238]
,[A185245, A185246]
,A185255
,A185264
,A185284
,A191928
,A192541
,A197629
,A198255
,A200214
,A206499
,A210632
,A212619
,[A217148, A217149]
,A217151
,[A217155, A217156]
,A228953
,A230533
,A230686
,A235044
,A235358
,A236265
,A236417
,A236460
,A238403
,[A243831, A243836]
,A248805
,A250002
,A256974
,A260502
,A264668
,A276183
,A277165
,A280492
,A280815
Эти
A040???
последовательности соответствуют цепных дробей внерациональных квадратных корней из ,sqrt(2)
чтобыsqrt(1000)
(с зазорами , соответствующими те , которые появляются ранее в OEIS, но удобно , заполненных случайными последовательностями). ЭтиA041???
последовательности соответствуют числитель и знаменатель цепной дроби дробей для внерациональных квадратных корней из ,sqrt(6)
чтобыsqrt(1000)
(с промежутком , соответствующейsqrt(10)
, вA005667 and A005668
). Другие разные последовательности имеют нули для своих первых двадцати значений.Ответ переносит элементы двух моих предыдущих ответов в GolfScript:
Большое спасибо xnor за короткую замкнутую
x -> x + round(sqrt(x))
последовательность отображения формы , которая смещает значение в sqrt. Экономия по сравнению с моими предыдущими вычислениями (создание списка не квадратов и выбор по индексу) обеспечила достаточно, чтобы иметь нулевой запас для большинства индексов вне диапазона.источник
n + round(sqrt(n))
?sqrt(n)
но мне не пришло в голову округляться до ближайшего, а не вниз. Это дает немедленное трехбайтовое сохранение, которого недостаточно для добавления запасного варианта, но сохраняет надежду.Python 2, 875 последовательностей
Работает для 875 последовательностей с 21016 (десятичные цифры от 1/12) до 21999 (десятичные цифры от 1/995).
Я нашел этот кусок с помощью сложного алгоритма поиска случайного набора в идентификаторах последовательности вручную. Некоторые последовательности в диапазоне не имеют этого формата и появляются в другом месте (спасибо Mitchell Spector за указание на это). Например, 21021 не является расширением 1/17.
Даже с прерываниями последовательности для 1 / n отображаются как id
n+21004
. Остальная часть не сдвинута, но недостающие последовательности появляются в другом месте. Например, 1/17 отображается как 7450 .Я посчитал те, которые соответствуют, используя загруженную копию имен последовательности.
Другой блок дает 848 последовательностей от 16742 до 17664 .
Все они имеют форму
n -> (a*n+b)^c
, где2≤a≤12, 0≤b<a, 1≤c≤12
. Код извлекает коэффициенты путем инвертирования треугольных чисел и модулей. Как и прежде, не все последовательности в диапазоне совпадают. Если бы эти два выражения могли уместиться в 100 байтов, это дало бы 1723 последовательности.Перспективные куски:
Вот категории для других потенциальных фрагментов, сгруппировав имена последовательностей OEIS, удалив все числа (цифры, знак минус, десятичная точка). Они отсортированы по количеству появлений.
35 последовательностей:
Работает с 8585 (кратно 3) до 8607 (кратно 25) и с 1018 (кратно 8) до 1029 ( кратно 19). Удобно, что все это в одном куске, упорядоченном по id.
Это использует только 65 из 100 разрешенных байтов и еще не полностью в гольфе, поэтому я поищу еще один хороший кусок.
источник
lambda n:range(0,(n-8582)*20,n-8582)
Bash + coreutils, 252 последовательности
Попробуйте онлайн!
Работает на 252 последовательностях OEIS: A000004, A006983, A011734, A011735, A011736, A011737, A011738, A011739, A011740, A011741, A011742, A011743, A011744, A011745, A023975, A023976, A04625, A04625, A0464, A044440, A0394, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A0444, A025, A03 A034422, A034423, A034427, A034429, A034432, A034435, A034437, A034438, A034439, A034441, A034443, A034445, A034447, A034449, A034450, A034451, A034452, A034453, A034454, A034455, A034456, A034457, A034458, A034459, A034461, A034462, A034464, A034465, A034466, A034467, A034468, A034469, A034471, A034473, A034475, A034476, A034477, A034479, A034480, A034481, A034482, A034483, A034484, A034485, A034486, A034487, A034489, A034490, A034492, A034493, A034495, A034497, A034498, A034499, A034500, A034501, A034502, A034503, A034504, A034506, A034507, A034508, A034509, A034510, A034511, A4545, A034512, A4545A034518, A034519, A034520, A034521, A034522, A034523, A034525, A034526, A034527, A034528, A034529, A034530, A034531, A034532, A034533, A034534, A034535, A034536, A034545, A034540, A034540, A034540, A034540, A034540, A034540, A034540 А034544, А034545, А034546, А034547, А034548, А034549, А034550, А034551, А034552, А034553, А034554, А034555, А034556, А034557, А034558, А034559, А034560, А034567, А034567, А034567, А034567, А034567, А034567, А034567, А034567, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034561, А034567 A034569, A034570, A034571, A034572, A034573, A034574, A034575, A034576, A034577, A034578, A034579, A034580, A034581, A034582, A036861, A047752, A052375, A052375, A0, A0, A0, A0, A0, A045, A0 A070204, A070205, A070206, A072325, A072769, A076142, A082998, A083344, A085974, A085982, A086007, A086015, A089458, A093392, A094382, A105517, A59, A18, A18, A18, A18, A10832A111899, A112802, A122180, A129947, A137579, A159708, A161277, A161278, A161279, A161280, A165766, A167263, A178780, A178798, A180472, A180601, A181340, A181318, A181718, A18, A18, A18, A18495, A18495, A18495, A184900 A185255, A185264, A185284, A191928, A192541, A197629, A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A221, A236, A2362, A2302, A2302, A2302, A2302, A2302, A230, A2302, A230, A230, A230, A230, A230, A230, A230, A230, A2302, A230, A305, A230, A230, A230, A230, A240 A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815A198255, A200214, A206499, A210632, A212619, A217148, A217149, A217151, A217155, A217156, A228953, A230533, A230686, A235044, A235358, A236265, A236417, A236460, A238403, A243831, A243832, A243833, A243834, A243835, A243836, A248805, A250002, A256974, A260502, A264668, A276183, A277165, A280492, A280815
источник
Python (с симпой),
144146 последовательностейФункция
f
работает для 146 последовательностей от A016578 до A016723 включительно.Все они выводятся на тест жгут на repl.it .
В 49 последовательности A016578 через A016626 включительно являются десятичные разложения лога (3/2), журнал (5/2), журнал (7/2), ..., журнал (99/2).
В 97 последовательности A016627 через A016723 включительно десятичные разложения бревна (4), журнал (5), журнал (6), ..., журнал (100).
Первые два из 49 начинаются с первого десятичного знака, поскольку значения логарифмов для них меньше 1 , поэтому
[-20:]
занимает последние 20 десятичных разрядов результата вызова, в...n(20)
который попадает 20 значащих цифр. Вif'.'<c
отфильтровывает десятичную дробь характера, иint(c)
забросы каждый из оставшихся цифр символов в целое число (хотя , возможно , не нужно).источник
Желе,
11271975 последовательностей- в настоящее время это объединяет результаты работы xnor и Mitchell Spector , но все еще имеет место для роста в 78 байтов. Иди дай им кредит!
TryItOnline!
Последовательности 1975 года:
[16000,21999]
);(a*n+b)**c
формуле (поведение для ввода в[16000,17999]
); а также1/n
(поведение для ввода в[18000,21999]
).Как?
источник
Mathematica,
39173189 последовательностейВдохновлен ответом Джонатана Аллана .
Работает на:
{0, 1, 2, ... , 19}
)источник
CJam, 1831 последовательность
Это дает правильный вывод для 199 последовательностей начала
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
и всех последовательностей в включенных диапазонах[A168680, A169579]
и[A170000, A170731]
. Большая часть этого имеет дело с этими двумя диапазонами, с отступлением для всех нулей перед началом первого диапазона.Два рассматриваемых диапазона имеют вид
источник
Пакетная, 62 последовательности
Просто реализовать один блок последовательностей было сложно, но я справился с двумя из 89 байтов! Объяснение: Для параметра
%1
8585-860722956-%1>>16
возвращает ноль, в результате чего(22956-%1)
выражение игнорируется, и мы заканчиваем тем, что умножаем переменную цикла на 3-25 соответственно, тогда как для параметра 22958-22996 он возвращает минус единицу, вызывая выражение отрицается, в то время какn|
причины умножения коэффициента умножения на минус один эффективно вычитают переменную цикла.источник
PHP , 28 байт, 33 последовательности
Попробуйте онлайн!
https://oeis.org/A000004 0 https://oeis.org/A007395 2 https://oeis.org/A010701 3 https://oeis.org/A010709 4 https://oeis.org/A010716 5 https://oeis.org/A010722 6 https://oeis.org/A010727 7 https://oeis.org/A010731 8 https://oeis.org/A010734 9 https://oeis.org/A010692 10 https://oeis.org/A010850 11 https://oeis.org/A010851 12 https://oeis.org/A010852 13 https://oeis.org/A010854 15 https://oeis.org/A010855 16 https://oeis.org/A010857 18 https://oeis.org/A010859 20 https://oeis.org/A010861 22 https://oeis.org/A010863 24 https://oeis.org/A010871 32
источник