Введение (может быть проигнорировано)
Размещать все положительные числа в обычном порядке (1, 2, 3, ...) немного скучно, не правда ли? Итак, вот ряд проблем, связанных с перестановками (перестановками) всех положительных чисел. Это четвертая задача в этой серии (ссылки на первую , вторую и третью задачу).
В этой задаче мы исследуем не одну перестановку натуральных чисел, а целый мир перестановок!
В 2000 году Кларк Кимберлинг поставил проблему в 26- м выпуске Crux Mathematicorum , научном журнале по математике, опубликованном Канадским математическим обществом. Проблема была:
Каждое положительное целое число встречается ровно один раз в этой последовательности?
В 2004 году Матеуш Квасницкий представил положительные доказательства в том же журнале, а в 2008 году он опубликовал более формальное и (по сравнению с первоначальным вопросом) более общее доказательство. Он сформулировал последовательность с параметрами и :
Он доказал, что для любого такого, что иррационально, последовательность является перестановкой натуральных чисел. Поскольку существует бесконечное число значений и для которых это верно, это действительно целый мир перестановок натуральных чисел. Мы будем придерживаться оригинала , и для этих параметров, последовательность может быть найдена как A050000в ОЕИС. Его первые 20 элементов:
1, 3, 9, 4, 2, 6, 18, 54, 27, 13, 39, 19, 57, 28, 14, 7, 21, 10, 5, 15
Поскольку это задача «чистой последовательности», задача состоит в том, чтобы вывести для заданного качестве входных данных, где равно A050000 .
задача
Учитывая целочисленный ввод , выведите в целочисленном формате, где:
Примечание: здесь предполагается индексирование на основе 1; Вы можете использовать индексирование на основе 0, поэтому и т. д. Пожалуйста, укажите это в своем ответе, если вы решите использовать это.
Контрольные примеры
Input | Output
---------------
1 | 1
5 | 2
20 | 15
50 | 165
78 | 207
123 | 94
1234 | 3537
3000 | 2245
9999 | 4065
29890 | 149853
правила
- Вход и выход являются целыми числами (ваша программа должна по крайней мере поддерживать вход и выход в диапазоне от 1 до 32767)
- Неверный ввод (0, число с плавающей запятой, строки, отрицательные значения и т. Д.) Может привести к непредсказуемому выводу, ошибкам или (не) определенному поведению.
- Применяются правила ввода / вывода по умолчанию .
- Лазейки по умолчанию запрещены.
- Это код-гольф , поэтому самые короткие ответы в байтах выигрывают