Вступление:
Я коллекционер извилистых головоломок. Здесь вы можете увидеть мою текущую коллекцию из ± 300 головоломок.
Я думаю, что все знают обычный кубик Рубика (куб 3x3x3), который является кубом NxNxN . Существуют также кубоиды (пазлы в форме блоков), которые бывают разных форм, возможно, лучше объясненные SuperAntionioVivaldi здесь :
- Обычные кубиноиды домино (например, 2x2x3 ; 2x3x3 ; 3x3x4 ; и т. Д.) - они бывают в форме NxNx (N + O) или Nx (N + O) x (N + O) , которые имеют два нечетных измерения и четный или два четных и нечетных.
- Кубоиды Shapeshifter (например, 2x2x4 ; 3x3x5; 3x3x9 ; 4x4x6 ; и т. Д.) - они имеют форму NxNx (N + P) , которая, как следует из названия, изменяет форму (во всех направлениях). Все три измерения являются нечетными или четными.
- Floppy Cuboids (например, 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) х (N + R) , и Shapeshift в любом направлении. Все три измерения являются нечетными или четными; но не имеют одинаковых размеров.
Вызов:
Входные данные:
Целое положительное число 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 должны приводить к выводу «none».
- Формат вывода - ваш собственный выбор. Я думаю, что наиболее разумными являются целые числа, как
0
= 'нет';1
= Куб;2
= Обычный Домино Кубоид;3
= Shapeshifter Cuboid;4
= Гибкий диск Cuboid;5
= Кирпичный кубоид. Любой другой выходной формат также подойдет, если вы укажете, какой вы использовали.
Основные правила:
- Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
Не позволяйте языкам кода-гольфа отговаривать вас от публикации ответов на языках, не относящихся к кодексу. Попробуйте придумать как можно более короткий ответ для «любого» языка программирования. - К вашему ответу применяются стандартные правила , поэтому вы можете использовать STDIN / STDOUT, функции / метод с правильными параметрами, полные программы. Ваш звонок.
- По умолчанию лазейки запрещены. ( ПРИМЕЧАНИЕ. Поскольку я не знаю, существует ли разумная формула для преобразования ввода-вывода, разрешено жестко кодировать ответы на основе ввода. )
- Если возможно, добавьте ссылку с тестом для вашего кода.
- Также, пожалуйста, добавьте объяснение, если это необходимо.
24
), поэтому я не знаю, что вы хотите отсортировать по этому поводу?