Ми вже визначили ряд складаний тут .
Але тепер ми будемо визначати Суперскладний номер. Суперскладне число - це число, яке, якщо складеться достатньо разів, в кінцевому підсумку досягне одного менше, ніж потужність у два. Метод складання дещо інший, ніж у питанні про складне число.
Алгоритм складання складається так:
Візьміть бінарне подання
наприклад 5882
1011011111010
Розлили його на три перегородки. Перша половина, остання половина та середня цифра (якщо вона має непарну кількість цифр)
101101 1 111010
Якщо середня цифра дорівнює нулю, це число неможливо скласти
Переверніть другу половину і накладіть на першу половину
010111 101101
Додайте цифри на місці
111212
- Якщо в результаті є 2s, число не можна скласти, інакше нове число є результатом алгоритму складання.
Число - це суперскладне число, якщо його можна скласти до суцільного рядка з них. (Усі номери складання також є Super Folding Numbers)
Ваше завдання полягає в тому, щоб записати код, який приймає число, і виводить триєдне значення, якщо число є Super Folding числом, а в іншому випадку помилковим. Вам буде набрано розмір вашої програми.
Приклади
5200
Перетворити у двійкове:
1010001010000
Розділіть навпіл:
101000 1 010000
Середина одна, і ми продовжуємо Накладати половинки:
000010
101000
Додано їх:
101010
Немає двох, тому ми продовжуємо Спліт навпіл:
101 010
Складіть:
010
101
111
Результат 111
(7 у десятковій частині), тож це суперскладне число.
Випробування
Першими 100 супер складаними номерами є:
[1, 2, 3, 6, 7, 8, 10, 12, 15, 20, 22, 28, 31, 34, 38, 42, 48, 52, 56, 63, 74, 78, 90, 104, 108, 120, 127, 128, 130, 132, 142, 150, 160, 170, 178, 192, 204, 212, 232, 240, 255, 272, 274, 276, 286, 310, 336, 346, 370, 400, 412, 436, 472, 496, 511, 516, 518, 524, 542, 558, 580, 598, 614, 640, 642, 648, 666, 682, 704, 722, 738, 772, 796, 812, 852, 868, 896, 920, 936, 976, 992, 1023, 1060, 1062, 1068, 1086, 1134, 1188, 1206, 1254, 1312, 1314, 1320, 1338, 1386, 1440, 1458, 1506, 1572, 1596]
3
проник у тестові справи? Я не бачу, як його можна скласти, оскільки він розпадається1 1
, одразу ж даючи2
. Або ви хочете сказати, що складання його в нуль разів теж вважається?