Это основано на игре, в которую один из моих учителей математики играл в средней школе. Он написал бы 5 случайных однозначных чисел на доске, а затем случайное двузначное число. Мы попытались бы создать уравнение, которое использовало бы все 5 однозначных чисел для получения двузначного числа. Вот несколько примеров с решениями, чтобы объяснить это лучше:
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
Эта задача состоит в том, чтобы написать программу, которая может генерировать такие уравнения для заданного ввода. Ввод может быть предоставлен либо через командную строку или через приглашение. 5 однозначных чисел всегда будут вводиться первыми (без определенного порядка), за которыми следует двузначный номер. Затем программа распечатает найденное уравнение решения; Вам не нужно обращаться с ситуациями, когда нет решения. Функция должна быть способна использовать следующие операции в уравнении: сложение, вычитание, умножение и деление. Если вы хотите разрешить дополнительные базовые операции, это нормально, если они остаются в духе задачи (отрицание, возведение в степень и модуль были бы хорошими дополнениями). Порядок операций соответствует стандартным математическим правилам, поэтому для группировки потребуется скобка.
Программы будут оцениваться в зависимости от длины кода (включая необходимые пробелы). Примечание: деление должно быть точным, а не округленным или усеченным до ближайшего целого числа.