Дано додатне ціле число 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оскільки для його роботи не потрібні матеріали.