introduzione
Questo è il seguito di questa sfida in cui stai assumendo il ruolo del gemello malvagio di quella persona. Essendo malvagio non vuoi massimizzare la tua parte, ma piuttosto essere il più ingiusto possibile e non lo renderai troppo ovvio, ecco perché hai ideato il seguente schema:
Dirai agli altri che vuoi essere il più equo possibile come il tuo fratello e quindi dividerai l'intero in pezzi di uguale lunghezza. Quindi per ogni numero intero otterrai la giusta quantità di persone in modo tale che la differenza tra il pezzo più grande e quello più piccolo sia massima.
Ad esempio se ti viene dato il numero intero 6567
puoi lasciarlo così com'è, dividerlo in due pezzi 65,67
o quattro 6,5,6,7
. Questo ti dà le seguenti differenze massime:
6567 -> max() = 0
65,67 -> max(|65-67|) = 2
6,5,6,7 -> max(|6-5|,|6-5|,|6-6|,|6-7|,|5-6|,|5-7|,|6-7|) = 2
Dal momento che vuoi solo essere cattivo, non preferisci 67
oltre 7
e quindi uscirai o 2
o 4
.
Un altro (caso meno speciale); dato il numero intero 121131
puoi dividerlo in questo modo:
121131 -> max() = 0
121,131 -> max(|121-131|) = 10
12,11,31 -> max(|12-11|,|12-31|,|11-31|) = 20
1,2,1,1,3,1 -> max(…) = 2
Questa volta c'è solo una soluzione - vale a dire 3
- poiché con tre persone la differenza è massima.
Sfida
Dato un numero intero determinare qualsiasi modo possibile di essere al massimo male e riportare il numero di persone necessarie per raggiungere questo obiettivo.
Regole
- L'ingresso sarà sempre ≥ 1
- L'input può essere un numero intero, un elenco di cifre o una stringa
- Non è necessario gestire input non validi
Casi test
Devi solo segnalare il numero risultante di persone necessarie, le possibili partizioni sono solo a scopo illustrativo:
In -> splits (difference) -> Out
1 -> [1] (0) -> 1
10 -> [1,0] (1) -> 2
11 -> [11] or [1,1] (0) -> 1 or 2
12 -> [1,2] (1) -> 2
42 -> [4,2] (2) -> 2
101 -> [1,0,1] (1) -> 3
2222 -> [2222] or [22,22] or [2,2,2,2] (0) -> 1 or 2 or 4
6567 -> [65,67] or [6,5,6,7] (2) -> 2 or 4
123000 -> [123,000] (123) -> 2
123001 -> [123,001] (122) -> 2
121131 -> [12,11,31] (20) -> 3
294884 -> [294,884] (590) -> 2
192884729 -> [192,884,729] (692) -> 3
123456189012 -> [123456,189012] (65556) -> 2
123457117346 -> [1234,5711,7346] (6112) -> 3