La aleatoriedad es divertida. Los desafíos sin sentido son divertidos.
Escriba una función que, dada la entrada de enteros n
, generará un conjunto (desordenado, único) de n
enteros exactamente aleatorios entre 1
e n^2
(inclusive) de modo que la suma de todos los enteros sea igual a n^2
.
La aleatoriedad no tiene que ser uniforme, siempre que cada conjunto válido tenga una probabilidad distinta de cero.
La respuesta más corta en bytes (por cada idioma) gana.
Ejemplos
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
Tarea adicional: ¿hay una fórmula para calcular el número de permutaciones válidas para un determinado n
?