Розглянемо таку послідовність:
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 та правила
- Введення та вихід можуть бути надані будь-яким зручним методом .
- Вхідні дані та вихідні дані можуть вважатись відповідними типу рідного номера вашої мови.
- Прийнятна або повна програма, або функція. Якщо функція, ви можете повернути вихід, а не надрукувати його.
- Стандартні лазівки заборонені.
- Це код-гольф, тому діють усі звичайні правила гольфу, і найкоротший код (у байтах) виграє.