Introduzione:
Sono un collezionista di puzzle intricati. Qui puoi vedere la mia attuale collezione di ± 300 puzzle.
Penso che tutti conoscano il normale cubo di Rubik (cubo 3x3x3), che è un cubo NxNxN . Ci sono anche cuboidi (puzzle a forma di blocco), che si presentano in diverse forme, forse meglio spiegati da SuperAntionioVivaldi qui :
- Cuboidi Domino regolari (come 2x2x3 ; 2x3x3 ; 3x3x4 ; ecc.) - Si presentano sotto forma di NxNx (N + O) o Nx (N + O) x (N + O) , che hanno due dimensioni dispari e un pari o due pari e dispari.
- Cuboidi di Shapeshifter (come 2x2x4 ; 3x3x5; 3x3x9 ; 4x4x6 ; ecc.) - Si presentano sotto forma di NxNx (N + P) , che come suggerisce il nome, mutaforma (in tutte le direzioni). Tutte e tre le dimensioni sono pari o dispari.
- Floppy Cuboids (come 1x3x3 ; 2x4x4 ; ecc.): Si presentano sotto forma di Nx (N + P) x (N + P) , che sono quasi gli stessi degli Shapeshifters, ma con le cosiddette Floppy Parities.
- Cuboidi in mattoni (come il 2x3x4 ; 3x4x5 ; 2x3x5; ecc.) - Si presentano sotto forma di Nx (N + O) x (N + P), che proprio come i cuboidi Domino regolari hanno due dimensioni dispari e un pari, o due pari e uno dispari; ma non hanno le stesse dimensioni.
- Ultimate Shapeshifters (come il 2x4x6 ; 3x5x7; 2x4x10; ecc.): Si presentano sotto forma di Nx (N + O) x (N + R) e cambiano forma in qualsiasi direzione. Tutte e tre le dimensioni sono pari o dispari; ma non hanno le stesse dimensioni.
Sfida:
Ingresso:
Un numero intero positivo n con la seguente restrizione: 8 <= n <= 125.
n può essere decodificato in modo univoco come prodotto di tre valori (le dimensioni), di cui ciascuno compreso tra 2 e 5 inclusi.
Il motivo per cui l'ho limitato a 2-5 è quello di prevenire input duplicati (come 1x2x4 = 8
e 2x2x2 = 8
), anche se ci sono molti cuboidi di ordine inferiore / superiore . Questo significa anche che non ci sono casi di test per Ultimate Shapeshifters.
Casi di output / test:
Questi sono tutti i casi che il tuo programma / funzione dovrebbe supportare, che vanno dalle lunghezze dei bordi da 2 a 5 in ogni possibile configurazione tridimensionale:
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
Regole della sfida:
- Qualsiasi input non cubo / non cuboide compreso nell'intervallo 8-125 dovrebbe risultare in "nessuno" come output.
- Il formato di output è una tua scelta. Penso che il più ragionevole siano numeri interi, come
0
= 'none';1
= Cubo;2
= Cuboide domino regolare;3
= Cuboid di Shapeshifter;4
= Cuboide floppy;5
= Cuboide in mattoni. Anche qualsiasi altro formato di output va bene, purché specifichi quale hai usato.
Regole generali:
- Questo è code-golf , quindi vince la risposta più breve in byte.
Non lasciare che le lingue di code-golf ti scoraggino dal pubblicare risposte con lingue non codegolfing. Prova a trovare una risposta il più breve possibile per "qualsiasi" linguaggio di programmazione. - Per la tua risposta valgono regole standard , quindi puoi usare STDIN / STDOUT, funzioni / metodo con i parametri corretti, programmi completi. La tua chiamata.
- Sono vietate le scappatoie predefinite . ( NOTA: poiché non so se esiste una formula intelligente per la conversione da input a output, è consentito codificare le risposte in base all'input. )
- Se possibile, aggiungi un link con un test per il tuo codice.
- Inoltre, si prega di aggiungere una spiegazione, se necessario.
24
), quindi non so che cosa vuoi ordinare al riguardo?