L'aléatoire est amusant. Les défis sans intérêt sont amusants.
Écrivez une fonction qui, étant donnée une entrée entière n
, produira un ensemble (non ordonné, unique) d' n
entiers exactement aléatoires entre 1
et n^2
(inclus) de telle sorte que la somme de tous les entiers soit égale à n^2
.
L'aléatoire ne doit pas être uniforme, à condition que chaque ensemble valide ait une chance non nulle de se produire.
La réponse la plus courte en octets (pour chaque langue) l'emporte.
Exemples
Input (n) = 1, Target (n^2) = 1
Sample of possible outputs:
1
Input = 2, Target = 4
Sample of possible outputs:
3, 1
1, 3
Input = 3, Target = 9
Sample of possible outputs:
6, 1, 2
3, 5, 1
4, 3, 2
Input = 4, Target = 16
Sample of possible outputs:
1, 3, 5, 7
2, 4, 1, 9
8, 3, 1, 4
Input = 5, Target = 25
Sample of possible outputs:
11, 4, 7, 1, 2
2, 3, 1, 11, 8
6, 1, 3, 7, 8
Input = 8, Target = 64
Sample of possible outputs:
10, 3, 9, 7, 6, 19, 8, 2
7, 16, 2, 3, 9, 4, 13, 10
7, 9, 21, 2, 5, 13, 6, 1
Tâche bonus: existe-t-il une formule pour calculer le nombre de permutations valides pour une donnée n
?