Provavelmente um simples desafio de código-golfe. Dados 2 inteiros positivos m
e n
, faça uma lista de n
valores inteiros positivos cuja soma é igual ao número m
. Todos os valores na saída são o mesmo valor ou a diferença é exatamente 1.
Exemplos
Por exemplo
m=6
en=3
se tornaria2, 2, 2
m=7
en=3
se tornaria2, 2, 3
ou2, 3, 2
ou3, 2, 2
m=7
en=2
se tornaria3, 4
ou4, 3
m=7
en=1
se tornaria7
m=7
en=8
geraria um erro porque a soma de 8 números inteiros positivos não pode ser 7.m=10
en=4
se tornaria3, 3, 2, 2
ou qualquer outra permutação
Regras
- Tanto a entrada como a saída são apenas números inteiros positivos.
- Todos os valores na saída são o mesmo valor ou a diferença é exatamente 1.
- A ordem dos valores na lista não é importante.
- A soma dos valores na lista é igual a
m
. - Quando não for solucionável, gere um erro ou um valor falso (no caso de m = 7 en = 8, por exemplo).
- Como resultado de outras regras
m=8
en=3
geraria qualquer uma das permutações de3, 3, 2
(não2, 2, 4
)
O vencedor
Isso é código-golfe, então a resposta mais curta e válida - medida em bytes - vence.
float a = -0f, b = 0f; System.out.println(a == b); System.out.println(a + "," + b);
... produz true
e -0.0,0.0
. Veja, 0 positivo e 0 negativo são claramente dois números distintos ... a implementação diz isso!