Вступ:
Я крутий колекціонер пазлів. Тут ви можете побачити мою поточну колекцію ± 300 головоломок.
Я думаю, що всі знають звичайний кубик Рубіка (куб 3x3x3), який є кубиком NxNxN . Є також кубоїди (блок-головоломки), які бувають різних форм, можливо, краще пояснені SuperAntionioVivaldi тут :
- Регулярні кубіни доміно (як 2x2x3 ; 2x3x3 ; 3x3x4 ; тощо) - вони надходять у вигляді NxNx (N + O) або Nx (N + O) x (N + O) , які мають або два непарні розміри, і парний, або два парні і непарні.
- Кубоїди Shapeshifter (наприклад, 2x2x4 ; 3x3x5; 3x3x9 ; 4x4x6 ; тощо) - вони надходять у вигляді NxNx (N + P) , який, як випливає з назви, формує зміну (у всіх напрямках). Усі три виміри є непарними або парними.
- Дискети-кубоїди (на зразок 1x3x3 ; 2x4x4 ; тощо) - вони надходять у формі Nx (N + P) x (N + P) , які майже такі ж, як і Shapeshifters, але з так званими Floppy Parities.
- Цегляні кубоїди (на зразок 2x3x4 ; 3x4x5 ; 2x3x5; тощо) - вони надходять у формі Nx (N + O) x (N + P), які так само, як і звичайні кубіни доміно, мають або два непарні розміри, і парне, або два парних і непарних; але не мають жодних однакових розмірів.
- Кінцеві перемикачі (наприклад, 2x4x6) ; 3x5x7; 2x4x10; тощо). Вони надходять у формі Nx (N + O) x (N + R) і змінюють форму в будь-якому напрямку. Усі три виміри є непарними або парними; але не мають жодних однакових розмірів.
Виклик:
Вхід:
Позитивне ціле n із таким обмеженням: 8 <= n <= 125.
n можна однозначно декодувати як добуток трьох значень (розмірів), кожне з яких становить від 2 до 5 включно.
Причина, що я обмежив його 2-5, - це запобігання дублювання входів (як 1x2x4 = 8
і 2x2x2 = 8
), навіть якщо там є багато кубоїдів нижчого / вищого порядку . Це також означає, що для Ultimate Shapeshifters немає тестових випадків.
Вихідні / тестові випадки:
Це всі випадки, які ваша програма / функція повинна підтримувати, починаючи від довжини ребер від 2 до 5 у всіх можливих тривимірних конфігураціях:
Input Cuboid/Cube Type/Output
8 2x2x2 Cube
12 2x2x3 Regular Domino Cuboid
16 2x2x4 Shapeshifter Cuboid
20 2x2x5 Regular Domino Cuboid
18 2x3x3 Regular Domino Cuboid
24 2x3x4 Brick Cuboid
30 2x3x5 Brick Cuboid
32 2x4x4 Floppy Cuboid
40 2x4x5 Brick Cuboid
50 2x5x5 Regular Domino Cuboid
27 3x3x3 Cube
36 3x3x4 Regular Domino Cuboid
45 3x3x5 Shapeshifter Cuboid
48 3x4x4 Regular Domino Cuboid
60 3x4x5 Brick Cuboid
75 3x5x5 Floppy Cuboid
64 4x4x4 Cube
80 4x4x5 Regular Domino Cuboid
100 4x5x5 Regular Domino Cuboid
125 5x5x5 Cube
Правила виклику:
- Будь-який не-куб / некубоїдний вхід в межах 8-125 повинен спричинити "жодний" як вихід.
- Формат виводу - це ваш власний вибір. Я вважаю, що найбільш розумними є цілі числа, як
0
= 'none';1
= Куб;2
= Регулярний кубідон доміно;3
= Кубоїд Shapeshifter;4
= Флоппі кубоїд;5
= Цегляна кубоїда. Будь-який інший формат виводу також добре, якщо ви вкажете, який саме ви використовували.
Загальні правила:
- Це код-гольф , тому найкоротша відповідь у байтах виграє.
Не дозволяйте мовам коду-гольфу відштовхувати вас від публікації відповідей з мов, що не кодують гольф. Спробуйте придумати якомога коротшу відповідь на "будь-яку" мову програмування. - Для вашої відповіді застосовуються стандартні правила , тому вам дозволяється використовувати STDIN / STDOUT, функції / метод з відповідними параметрами, повноцінні програми. Твій дзвінок.
- Лазівки за замовчуванням заборонені. ( ПРИМІТКА. Оскільки я не знаю, чи є розумна формула перетворення вхід-вихід, дозволено вводити жорсткі коди відповідей на основі введених даних. )
- Якщо можливо, додайте посилання з тестом для вашого коду.
- Також, будь ласка, додайте пояснення, якщо це необхідно.
24
), тому я не знаю, що ви хочете сортувати з цього приводу?