Описание
Во входном файле записано равенство вида A=B, где A и B выражения, содержащие сколь угодно длинные целые числа и знаки операций "+", "-" (бинарный и унарный) и "*". Выражения не содержат скобок

Задача
Требуется проверить выполнение заданного равенства и вывести в выходной файл результат проверки в форме "Да, выполняется" или "Нет, не выполняется". Длина входного файла данных не превосходит 60 килобайт. Числа и знаки операций в выражении могут разделяться пробелами и/или символами перевода строки


Например:

EQUALITY.IN
2
          * 43 = 86

EQUALITY
.OUT
Да, выполняется




Комментарии

Поскольку в результате вычислений могут получаться очень большие числа, то точно подсчитать значение каждого из выражений A и B за отведенное для работы программы время нереально. Однако относительно легко сравнить левую и правую части по какому-то модулю. Если провести такую проверку для достаточно большого набора взаимно простых модулей, то можно с большой вероятностью дать правильный ответ

 



Решение
Учитывая, что объем исходного кода этой задачи значительный и составляет около 83.9Kb, что достаточно трудоемко для посетителей проекта, не использующих выделенные линии или спутниковую связь, принято решение разместить решение на отдельной странице, загрузить/закачать которую, при необходимости, можно с сервера проекта по этой ссылке (после загрузки расширение ххх замените на rar)

 


© Особенности национальных задач по информатике