Мы ищем последовательность
Возьмите натуральные числа
1,2,3,4,5,6,7,8,9,10,11,12,13,14...
Преобразовать в базу-2
1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110...
Объединить вышеуказанные числа
110111001011101111000100110101011110011011110...
Разделите это число на Prime-Chunks
(куски, содержащие простое число цифр).
Простые числа взяты в порядке возрастания2,3,5,7,11,13,17...
[11][011][10010][1110111][10001001101][0101111001101][1110...]
и найти сумму цифр каждого куска
Primes 2 3 5 7 11 13 17
Chunks [11][011][10010][1110111][10001001101][0101111001101][1110...]
SumOfDigits 2 2 2 6 5 8
Последовательность
2, 2, 2, 6, 5, 8, 9, 10, 14, 22, 11, 18, 25, 27, 32, 21, 28, 32, 40, 40, 49, 49, 32, 41, 49, 53, 63, 55, 63, 70, 87, 73, 51, 63, 71, 78, 78, 90, 107, 86, 96, 108, 115, 128, 138, 92, 83, 95, 102, 110, 130, 106, 122, 141, 149, 163, 130, 140, 151, 165, 181, 165, 204, 200, 234, 100, 130, 138, 167, 149, 169, 180, 209, 166, 189, 194, 222, 205, 234, 260, 216, 206, 217, 241, 240, 267, 289, 242, 274, 308, 286, 329, 338, 155, 189, 225, 197, 240, 272, 217, 254, 282, 287, 317, 281, 256, 299, 286, 331, 337, 316, 350, 354, 391, 367, 282, 327, 313, 364, 358, 348, 397, 406, 466 ...
Соревнование
Найти nth
член приведенной последовательности
вход
Целое число n>0
Тестовые случаи
1->2
3->2
6->8
36->78
60->165
160->581
260->1099
350->1345
Это Codegolf. Самый быстрый ответ в байтах побеждает!
Ответы:
Шелуха , 8 байт
Попробуйте онлайн!
объяснение
источник
Желе , 12 байт
Попробуйте онлайн!
Как это устроено
источник
05AB1E , 12 байтов
Код
Может быть довольно медленным для больших чисел:
Использует кодирование 05AB1E. Попробуйте онлайн!
объяснение
источник
Mathematica, 71 байт
Попробуйте онлайн!
источник
Желе , 21 байт
Попробуйте онлайн!
источник
Желе , 16 байт
Попробуйте онлайн!
объяснение
источник
R ,
206200 байтПопробуйте онлайн!
Алгоритм также пытается «сэкономить» на пространстве, итеративно удаляя биты, проходя через простые числа. Я чувствую, что преобразование десятичных чисел в биты может быть короче, но я не мог найти другие альтернативы.
Сохранено 6 байтов благодаря Джонатану Френчу.
источник
p=j=2
на два байта корочеp=2;j=2
.a=p
сохранения еще двух байтов.y=1
, заменил наy=2
, в результате чего 200 байтов .JavaScript (ES6), 144 байта
Ungolfed
Тестовые случаи
Показать фрагмент кода
источник
Python 2 , 114 байт
Попробуйте онлайн!
источник
JavaScript (ES6),
138132123 байтаКонтрольные примеры
Попробуйте онлайн!
демонстрация
Примечание: сюда включены только «безопасные» контрольные примеры (гарантированно работают на Chrome, Firefox и Edge). Возможно, вам придется увеличить размер стека вызовов вашего движка, чтобы пропустить другие.
Показать фрагмент кода
Отформатировано и прокомментировано
источник
Perl 6 , 67 байт
Проверь это
Expanded:
источник
Python 2 ,
143139133 байта-4 байта благодаря @ErikTheOutgolfer
Попробуйте онлайн!
источник
J, 48 байтов
объяснил
Попробуйте онлайн!
источник
/.
):_1({]+//.$$&;<@#:@#\)[:#~p:@i.
JavaScript 1+ + substr, 135 байт
источник