Portanto, a tarefa é simples, considerando a matriz de números e o resultado, você precisa encontrar quais operações você precisa usar nos números da matriz para obter o resultado solicitado.
Vamos simplificar o início e permitir apenas operações básicas como: adição, subtração, multiplicação e divisão.
Exemplo:
Input : [5,5,5,5,5] 100
Output : 5*5*5-5*5
Para dar alguma vantagem a linguagens como Java, solicitar é implementar a função, não o programa inteiro, e o resultado pode ser retornado via parâmetro ou impresso no console.
O código é pontuado com base na quantidade de bytes e, como é um desafio ao código de golfe, a pontuação mais baixa vence.
Outro requisito é que você pode obter -10 pontos adicionais se o array contiver apenas digids, oferecer suporte a soluções nas quais você pode construir números a partir dos dígitos seguintes. Ou seja,
Input : [1,2,3,4,5] 0
Output : 12-3-4-5
Observe que, desde que as saídas sejam propostas, alguns casos podem ter mais de uma solução. Depende de você fornecer uma ou mais soluções para determinada tarefa.
EDIT: O resultado deve ser válido do ponto de vista matemático, portanto, a divisão é uma divisão racional, não um número inteiro, e a precedência da operação é a mesma da matemática clássica (primeira multiplicação e divisão, depois adição e subtração).
*
e/
tem precedência sobre+
e-
? Seus dois exemplos se contradizem.