Дано додатне ціле число n > 2
. Перетворюємо його в масив наступним чином:
- Якщо вона дорівнює,
2
повернути порожній масив - В іншому випадку створіть масив усіх
n
простих факторів, відсортованих за зростанням, потім кожен елемент замініть його індексом у послідовності простих чисел і, нарешті, перетворіть кожен елемент у масив
Наприклад, давайте перетворимо число 46
в масив. По-перше, перетворіть його у масив основних факторів:
[2, 23]
Число 23
є 9
е простим, тому замінити 2
з порожнім масивом і 23
з [9]
. Тепер масив стає:
[[], [9]]
Основними факторами 9
є 3
і 3
, таким чином:
[[], [3, 3]]
Зробіть те саме для обох 3
:
[[], [[2], [2]]]
І, нарешті:
[[], [[[]], [[]]]]
Тепер, щоб кодувати його, ми просто замінюємо кожну відкриту дужку на 1
та кожну закриваючу дужку 0
, потім видаляємо всі кінцеві нулі і опускаємо одну 1
з кінця. Це наше двійкове число. Використовуючи наведений вище приклад:
[ ] [ [ [ ] ] [ [ ] ] ]
| | | | | | | | | | | |
| | | | | | | | | | | |
V V V V V V V V V V V V
1 0 1 1 1 0 0 1 1 0 0 0
Тепер просто опустіть останні три нулі та останню 1
. Число стає числом, 10111001
яке знаходиться 185
в десяткових. Це очікуваний вихід. Зауважте, що до масиву до двійкових дужок перетворення основного масиву не включено.
Вхідні дані
Позитивне ціле число n
більше, ніж 2
.
Вихідні дані
Зашифроване ціле число n
.
Правила та формат IO
- Діють стандартні правила.
- Вхід може бути рядок або число (але у випадку рядка він повинен бути в базі 10).
- Вихід може бути рядок або число (але у випадку рядка він повинен бути в базі 10).
- Це код-гольф , найкоротша відповідь у байтах виграє!
Тестові справи
Більше тестових випадків за запитом.
3 ---> 1
4 ---> 2
5 ---> 3
6 ---> 5
7 ---> 6
8 ---> 10
9 ---> 25
10 ---> 11
10000 ---> 179189987
10001 ---> 944359
10002 ---> 183722
10003 ---> 216499
10004 ---> 2863321
10005 ---> 27030299
10006 ---> 93754
10007 ---> 223005
10008 ---> 1402478
2
оскільки для його роботи не потрібні матеріали.