Фон
У математиці добре відомо, що цілі числа можна вводити у відповідність один до одного з парами цілих чисел. Існує багато можливих способів зробити це, і в цьому виклику ви реалізуєте один з них та його зворотну роботу.
Завдання
Ваше введення - це натуральне число n > 0
. Відомо, що існують унікальні невід’ємні цілі числа, a, b ≥ 0
такі . Ваш вихід - це "перевернута версія"n == 2a * (2*b + 1)
n
додатного цілого числа .2b * (2*a + 1)
Ви можете припустити, що вхід і вихід вписуються в стандартний цілочисленний тип даних вашої мови.
Правила та оцінка
Ви можете написати або повну програму, або функцію. Виграє найнижчий байт, а стандартні лазівки заборонені.
Тестові справи
Вони задаються у форматі in <-> out
, оскільки функція, яку потрібно реалізувати, є власною оберненою формою : якщо ви повернете висновок до нього, ви повинні отримати оригінальний ввід.
1 <-> 1
2 <-> 3
4 <-> 5
6 <-> 6
7 <-> 8
9 <-> 16
10 <-> 12
11 <-> 32
13 <-> 64
14 <-> 24
15 <-> 128
17 <-> 256
18 <-> 48
19 <-> 512
20 <-> 20
28 <-> 40
30 <-> 384
56 <-> 56
88 <-> 224
89 <-> 17592186044416
Таблиця лідерів
Ось фрагмент стека для створення як звичайного табло, так і огляду переможців за мовою. Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
## Language Name, N bytes
де N
розмір вашого подання. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, тому що ваш результат становить суму двох файлів або ви хочете окремо перерахувати штрафні санкції за перекладач), переконайтесь, що фактичний бал є останнім номером у заголовку:
## Perl, 43 + 2 (-p flag) = 45 bytes
Ви також можете зробити ім'я мови посиланням, яке потім відобразиться у фрагменті таблиці лідерів:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes