> 1 <

Автор Сообщение

ferbolg

Members


Статус

16 сообщений

Где: Ukraine
Род занятий:
Возраст:

#3343   2010-11-08 00:59 GMT+3 часа(ов)      
Доброго времени суток! Нужно на CL решить задачу: Напечатать все расстановки скобок в произведении множителей. порядок множителей не меняется, скобки однозначно определяют порядок действий. Дан пример:
n=4: ((a b) c) d (a (b c)) d a ((b c) d) (a b)(c d) a (b (c d)).

К сожалению, не уточнено, как вводяться данные, но я буду отталкиваться от того, что на входит подается список с соответсвующим количеством множителей. Например, для n=4 будет '(a b c d). Подскажите, как решать и как бы коректнее печатать текущий результат.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#3405   2010-11-13 18:38 GMT+3 часа(ов)      
Ну в общем решение есть, но оно не самое рационально, имхо. Посмотрел на все эти списки с т.з. обратной польской записи. Если это слагаемые, то это всегд комбинация типа abcd+++ ab+c+d+ abc++d+ и т.п. Т.о. - генерирую все возможные комбинации из n элементов и n-1 плюсиков, потом перевожу обратно, в нормальную запись. При этом из-за кривых рук очень много препонов. Отпишите, писать решение, или нет.
I wish I'd made you angry earlier
> 1 <


Онлайн :

0 пользователь(ей), 28 гость(ей) :