Розглянемо таку послідовність:
0 1 3 2 5 4 8 6 7 12 9 10 11 17 13 14 15 16 23 ...
Виглядає досить без візерунка, правда? Ось як це працює. Починаючи з 0
, підскакуйте n
цілі числа, n
починаючи з 1
. Ось наступне число в послідовності. Потім додайте будь-які цифри, "пропущені", які ще не були помічені у порядку зростання. Потім приріст n
і стрибок з останнього доданого числа. Повторіть цю схему.
Так, наприклад, коли ми добираємось 11
, ми знаходимося n=5
. Ми збільшуємо n
бути n=6
, стрибати до 17
, потім додати , 13 14 15 16
так як ті , які ще не були видні. Наступний наш стрибок - n=7
значить, наступний елемент у послідовності 23
.
Змагання
Задавши введення x
, виведіть x
третій термін цієї послідовності, перші x
члени послідовності або побудуйте нескінченний список термінів послідовності. Можна вибрати 0- або 1-індексацію.
I / O та правила
- Введення та вихід можуть бути надані будь-яким зручним методом .
- Вхідні дані та вихідні дані можуть вважатись відповідними типу рідного номера вашої мови.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.