Продолжаем комбинаторную практику. Дан ряд цифр и одно число, например: 1 2 3 4 5 6 7 8 и 100. Расставить между цифрами знаки "пробел", "умножить", "плюс" и "минус" таким образом, чтобы получилось заданное число.
Дата отправки отчёта:
5 марта 2016 г.
Задание выполнено: за
3 час. 00 мин.
Чему научился:
Узнал, как можно организовать вычисление выражений, содержащих действия с разным приоритетом. Ещё раз проработал рекурсию.
Что было сложным:
Всё было понятно!
Комментарии:
Насколько я понял, для любого такого калькулятора размер стека операций должен быть не меньше числа рангов (разных приоритетов) операций, не считая операции "=" с её низшим "нулевым". Для "нашего" примера всё работало при размерности 3.
Трудности: понять алгоритм задачи цифры и знаки с помощью блок-схемы оказалось проще понимать и составлять алгоритм задачи, чем с использованием словесного описания