Isso é baseado em um jogo que um dos meus professores de matemática costumava jogar no ensino médio. Ele escrevia cinco números aleatórios de um dígito no quadro e depois um número aleatório de dois dígitos. Tentaríamos criar uma equação que usasse todos os 5 números de um dígito para gerar o número de dois dígitos. Aqui estão alguns exemplos com soluções para explicar melhor isso:
Input: Solution:
7 5 4 8 4 34 5*8-7+4/4 = 34
3 1 5 7 6 54 (7+3)*6-5-1 = 54
3 9 2 1 6 87 9*(2+1)*3+6 = 87
2 1 6 9 7 16 (9-7+6*1)*2 = 16
2 4 5 8 6 96 8*(5+6)+2*4 = 96
3 8 4 5 4 49 8*(4+4)-3*5 = 49
Esse desafio é escrever um programa que possa gerar essas equações para uma determinada entrada. A entrada pode ser fornecida pela linha de comando ou por um prompt. Os 5 números de um dígito sempre serão inseridos primeiro (em nenhuma ordem específica), seguidos pelo número de dois dígitos. O programa imprimirá uma equação de solução que encontrar; você não precisa lidar com situações em que não há solução. A função deve ser capaz de usar as seguintes operações na equação: adição, subtração, multiplicação e divisão. Se você deseja permitir operações básicas adicionais, tudo bem, desde que permaneçam no espírito do desafio (negação, exponenciação e módulo seriam boas adições). A ordem das operações segue as regras matemáticas padrão, portanto, parênteses serão necessários para o agrupamento.
Os programas serão classificados com base no tamanho do código (incluindo espaço em branco necessário). Nota: a divisão deve ser exata, não arredondada ou truncada para o número inteiro mais próximo.