No enigmático SE, existem os chamados "problemas do palito de fósforo", nos quais a matemática é escrita em palitos de fósforo e você pode mover um certo número deles para obter uma determinada propriedade.
Nesta questão, consideraremos apenas números inteiros representados em um formato de exibição de 7 segmentos. Aqui estão todos os 10 dígitos nesse formato:
__ __ __ __ __ __ __ __
| | | __| __| |__| |__ |__ | |__| |__|
|__| | |__ __| | __| |__| | |__| __|
Cada segmento da tela é um "palito de fósforo" que pode ser movido independentemente do restante do número. Os palitos de fósforo são indivisíveis e indestrutíveis, não podem ser quebrados ou removidos por qualquer meio.
Um quebra-cabeça comum é pegar um número dado na base 10 e tentar tornar o maior número possível em um determinado número de movimentos. Uma jogada é considerada um movimento de um palito de fósforo de qualquer slot ocupado para outro slot não ocupado. Você está perfeitamente autorizado a criar novos dígitos em ambos os lados do número, por exemplo, 0 pode ser transformado em 77 e dar 3 movimentos
__ __ __ __ __ __ __
| | | | | | | | |
|__| , __| , | , | |
No entanto, você não pode transformar um slot em 2 ou criar novos slots entre os existentes, por exemplo, transformar um 4 em 11 no meio de um número ou inserir novos dígitos entre os existentes. Cada movimento não precisa criar um número adequado, mas o resultado final deve ser um número adequado na exibição dos sete segmentos da base 10. Você não precisa usar todos os movimentos se não desejar. Ao contrário de intrigante, essa é uma [tag: pergunta encerrada], você não pode usar nenhum operador (multiplicação, exponenciação etc.) ou constantes matemáticas (Pi, número de Graham etc.) em suas respostas.
Tarefa
Escreva um programa ou função que use um número e um número de movimentos como entrada e retorne o maior número que pode ser feito com tantos movimentos no número original.
Esta é uma questão de código-golfe, para que as respostas sejam pontuadas em bytes, com menos bytes sendo melhores.
Casos de teste
n, moves -> max
0, 1 -> 9
0, 3 -> 77
0, 4 -> 111
8, 3 -> 74
220, 1 -> 320
220, 2 -> 520
220, 3 -> 7227
220, 4 -> 22111
220, 5 -> 32111
747, 1 -> 747
747, 2 -> 7171
747, 3 -> 7711
919, 2 -> 991