[old] Safe Code

[old] Safe Code

Ваша интуиция вас не подвела - помимо обычных для комнаты вещей, таких как книжный и платяной шкафы, письменный стол и кровать, здесь также находился сейф, весьма внушительных размеров. Ваше настроение сразу улучшилось - эта поездка весьма быстро становилась прибыльной (если, конечно, сейф не был пуст).

На столе рядом с сейфом лежал небольшой листок плотной бумаги на котором были написаны формулы, часть цифр в которых была затерта. Скорее всего, когда-то давно эти записи можно было прочесть без проблем, но десятилетия, проведенные в замке, негативно повлияли на читаемость некоторых цифр. Поняв, какие цифры должны находиться на затертых местах, вы сможете составить правильную комбинацию для открытия сейфа.

Ваша задача - составить функцию, которая на входе получает уравнение в виде строки с цифрами, затертыми местами (‘#’) и одной из трёх арифметических операций (+, - или *), например - "##*##=302#"....

Важное примечание - на месте # не может быть ни одна из цифр, которые уже фигурируют в уравнении. Также, если после знака равенства (=) стоит 2 и более затертых символа, ответ не может состоять из нулей (00, 000 и т.д.).
Числа в формате #n, #nn и так далее, где n - любая цифра, не могут начинаться с нуля. То есть, "#9+3=12" == -1.
В случае, если несколько цифр подходят - используйте наименьшую из них. В качестве чисел, фигурирующих в формуле, могут быть как положительные (например, "1+1=#"), так и отрицательные, перед которыми стоит знак "-" ("19--45=5#", "-1*-6=#")

You should be an authorized user in order to see the full description and start solving this mission.