Introducción
Este es un seguimiento de este desafío en el que estás tomando el papel del gemelo malvado de esa persona. Siendo malvado, no desea maximizar su participación, sino que sea lo más injusto posible y no lo hará demasiado obvio, por eso se le ocurrió el siguiente esquema:
Les dirás a los demás que quieres ser lo más justo posible como tu hermano y, por lo tanto, dividirás el número entero en partes de igual longitud. Entonces, para cada número entero, obtendrá la cantidad correcta de personas, de modo que la diferencia entre la pieza más grande y la más pequeña sea máxima.
Por ejemplo, si le dan el número entero 6567
, puede dejarlo como está, dividirlo en dos 65,67
o cuatro partes 6,5,6,7
. Esto le brinda las siguientes diferencias máximas:
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
Dado que sólo quiere ser el mal que no prefieren 67
más 7
y por lo tanto se dará salida a cualquiera 2
o 4
.
Otro (caso menos especial); dado el número entero 121131
, podría dividirlo así:
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
Esta vez solo hay una solución, a saber 3
, ya que con tres personas la diferencia es máxima.
Desafío
Dado un número entero, determine cualquier forma posible de ser el máximo malvado e informe la cantidad de personas necesarias para lograrlo.
Reglas
- La entrada siempre será ≥ 1
- La entrada puede ser un número entero, una lista de dígitos o una cadena
- No tiene que manejar entradas inválidas
Casos de prueba
Solo necesita informar el número resultante de personas necesarias, las particiones posibles son solo para ilustración:
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