559 читали · 4 года назад
Обратный польский калькулятор
Попробуем написать синтаксический анализатор математических выражений, который переводит их в обратную польскую запись и вычисляет результат. Например, такое выражение: 6 * (3 + 2) в обратной польской записи будет выглядеть так: 6 3 2 + * Для чего нужна такая запись? Во-первых, её можно использовать на некоторых реальных калькуляторах. В ней отсутствуют скобки, и поэтому порядок введения операций в калькулятор последовательный (не требует запоминания промежуточных результатов и т.п.) Во-вторых,...
2645 читали · 3 года назад
Разбор задачи "Постфиксная запись" с сайта CodeForces на Python
Условие задачи В постфиксной записи (или обратной польской записи) операция записывается после двух операндов. Например, сумма двух чисел A и B записывается как A B +. Запись B C + D * обозначает привычное нам (B + C) * D, а запись A B C + D * + означает A + (B + C) * D. Достоинство постфиксной записи в том, что она не требует скобок и дополнительных соглашений о приоритете операторов для своего чтения. Дано выражение в обратной польской записи. Определите его значение. Алгоритм решения Необходимо грамотно обработать входящую строку...
104 читали · 1 год назад
Программирование на языке Python. Алгоритмы поиска НОД (наибольшего общего делителя)
Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео. Поиск наибольшего общего делителя на Python Пора вернуться к моей любимой теме - алгоритмы. Сегодня алгоритм поиска НОД, т.е. наибольшего общего делителя. Начнём с универсального подхода для произвольного количества целых чисел. Программу см. ниже. Алгоритм весьма прост. Берём наименьшее из списка число и начинаем проверять на делимость начиная с него...