Случайный спуск по дереву
- Условие задачи: PROBLEM:005
Классическая реализация
- Разбиваем вход на набор токенов
- скобки: '(' или ')' соответствует регулярному выражению /\)|\(/
- целые числа: /-?\d+/
- Вызываем рекурсивную функцию parse, которая
- считывает число, если считывается
- считывает скобку
$tokens = gets.scan( /\)|\(|-?\d+/ ) def parse if tokens.first =~ /-?\d+/ $tokens.shift.to_f else $tokens.shift # ожидается скобка r = (parse + parse)/2.0 $tokens.shift # ожидается скобка r end end puts parse