introduction
Il s'agit d'un suivi de ce défi où vous incarnez le mauvais jumeau de cette personne. Étant maléfique, vous ne voulez pas maximiser votre part, mais soyez aussi injuste que possible et vous n'allez pas le rendre trop évident, c'est pourquoi vous avez proposé le schéma suivant:
Vous allez dire aux autres que vous voulez être aussi juste que possible comme votre frère et donc vous allez diviser l'entier en morceaux de longueur égale. Ainsi, pour chaque entier, vous obtiendrez le bon nombre de personnes de sorte que la différence entre la plus grande et la plus petite pièce soit maximale.
Par exemple, si l'on vous donne l'entier, 6567
vous pouvez le laisser tel quel, le diviser en deux 65,67
ou quatre 6,5,6,7
. Cela vous donne les différences maximales suivantes:
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
Puisque vous voulez seulement être le mal que vous ne préférez pas 67
plus 7
et ainsi vous sortie soit 2
ou 4
.
Un autre (cas moins spécial); étant donné l'entier, 121131
vous pouvez le diviser comme ceci:
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
Cette fois, il n'y a qu'une seule solution - à savoir 3
- car avec trois personnes, la différence est maximale.
Défi
Étant donné un nombre entier, déterminez tout moyen possible d'être au maximum mauvais et signalez le nombre de personnes nécessaires pour y parvenir.
Règles
- L'entrée sera toujours ≥ 1
- L'entrée peut être soit un entier, une liste de chiffres ou une chaîne
- Vous n'avez pas à gérer les entrées non valides
Cas de test
Il vous suffit de signaler le nombre de personnes nécessaires résultant, les partitions possibles sont uniquement à titre d'illustration:
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