Contagem regressiva simplificada

Muitos visitantes britânicos do edabit estarão familiarizados com Countdown, um programa de perguntas e respostas que foi transmitido por muitos anos na televisão do Reino Unido. Um de seus desafios exigia que os participantes criassem uma expressão (usando alguns números gerados aleatoriamente) para atingir ou chegar o mais perto possível de um número-alvo escolhido.

Este desafio é uma versão simplificada disso. Escreva uma função que receba uma tupla de inteiros positivos únicos e um inteiro positivo como alvo, e retorne uma string contendo uma expressão que combine os números da tupla para atingir o alvo, sujeita a certas regras explicadas nas notas abaixo.

Exemplos

countdown((1, 2), 3) ➞ "1+2"

countdown((2, 3, 5, 75), 158) ➞ "3+5+2*75"

Notas

  • A tupla de operandos contém no mínimo 2 e no máximo 5 inteiros positivos únicos apresentados em ordem crescente. Uma resposta aceitável deve usar cada operando apenas uma vez, combinando-os para atingir o alvo.
  • Os operadores a serem usados são os operadores aritméticos padrão do Python: +, -, * e //. As regras normais de precedência de operadores se aplicam. Não use parênteses.
  • Cada desafio tem pelo menos uma resposta que atende aos critérios acima. Nos testes, uma função de verificação verifica se a expressão retornada resulta no alvo e se as regras sobre operandos e operadores foram atendidas.