A aleatoriedade é divertida. Desafios sem sentido são divertidos.
Escreva uma função que, dada a entrada inteira n
, produza um conjunto (não ordenado, exclusivo) de n
números inteiros exatamente aleatórios entre 1
e n^2
(inclusive), de modo que a soma de todos os números inteiros seja igual a n^2
.
A aleatoriedade não precisa ser uniforme, desde que cada conjunto válido tenha uma chance diferente de zero.
A resposta mais curta em bytes (por cada idioma) vence.
Exemplos
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
Tarefa bônus: Existe uma fórmula para calcular o número de permutações válidas para um determinado n
?