Вступление
Это продолжение этой проблемы, когда вы играете роль злого близнеца этого человека. Будучи злым, вы не хотите максимизировать свою долю, а быть настолько несправедливым, насколько это возможно, и вы не собираетесь делать это слишком очевидным, поэтому вы придумали следующую схему:
Вы скажете остальным, что хотите быть максимально честными, как ваш брат и сестра, и, таким образом, вы собираетесь разделить целое число на куски одинаковой длины. Таким образом, для каждого целого числа вы будете подбирать нужное количество людей, чтобы разница между самой большой и самой маленькой частью была максимальной.
Например, если вы получили целое число, 6567
вы можете оставить его как есть, разделить его на две части 65,67
или четыре 6,5,6,7
. Это дает вам следующие максимальные различия:
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
Так как вы только хотите быть злыми вы не предпочитаете 67
более 7
и , таким образом , вы будете выводить либо 2
или 4
.
Другое (менее частный случай); учитывая целое число, 121131
вы можете разделить его следующим образом:
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
На этот раз есть только одно решение, а именно 3
- с тремя людьми разница максимальна.
Вызов
По целому числу определите любой возможный способ быть максимально злым и сообщите количество людей, необходимое для этого.
правила
- Вход всегда будет ≥ 1
- Ввод может быть целым числом, списком цифр или строкой
- Вам не нужно обрабатывать неверные данные
Testcases
Вам нужно только сообщить итоговое количество необходимых людей, возможные разделы приведены только для иллюстрации:
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