У цьому виклику ви будете обчислювати числа з цікавої послідовності.
Ваш вхід - це одне десяткове невід’ємне ціле число. Зверніть біти в це ціле число, а потім квадратне число, щоб отримати необхідний вихід.
При оберненні бітів ви не повинні використовувати жодні провідні нулі на вході. Наприклад:
26 (base 10) = 11010 (base 2) -> 01011 (base 2) = 11 -> 11*11 = 121
Перші 25 входів / виходів цієї послідовності:
0: 0
1: 1
2: 1
3: 9
4: 1
5: 25
6: 9
7: 49
8: 1
9: 81
10: 25
11: 169
12: 9
13: 121
14: 49
15: 225
16: 1
17: 289
18: 81
19: 625
20: 25
21: 441
22: 169
23: 841
24: 9
Ваше рішення має працювати для цілих чисел довільного розміру. Якщо у вашій мові немає зручного вбудованого методу їх використання, реалізуйте свою відповідь так, як ніби це є. Потім вибачте, якщо ваша відповідь не відповідає великій кількості. Однак не використовуйте хитрощі / межі, які працюють лише для обмеженого домену (наприклад, таблиці пошуку).
Ваш бал - кількість байтів вихідного коду.
-50% бонус, якщо ви ніколи не перетворюєте число в / з двійкового. Це не обмежується вбудованими файлами, якщо ви перебираєте число по бітах (шляхом зміщення чи маскування чи будь-яким іншим методом), воно також вважатиметься перетворенням. Я не знаю, чи це насправді можливо, але це стимулює помітити візерунок у послідовності.
Найменший рахунок виграє.