singlepost

раскрытие скобок << На главную или назад  

Всем привет….
Обращаюсь с просьбой о помощи….
короче задача стоит такая:
дана строка
(X xor 1)(Y xor 1)(Z xor 1)
надо написать прожку которая бут розкрывать ее, что бы получилось такое выражение:
XYZ xor XY xor XZ xor X xor YZ xor Y xor Z xor 1
раскрываются скобки за правилами:
(X xor 1)(Y xor 1)=XY xor X xor Y xor 1
(X xor 1)Y=XY xor Y
выражения могут быть разными, например:
(X xor 1)(Y xor 1)(Z xor 1) xor X
(X xor 1)(Y xor 1) xor X(Z xor 1)(Q xor 1)
(X xor 1)(Y xor 1)(Z xor 1)(Q xor 1)
помогите кто может…. желательно на делфе, паскале, или асме… неважно, просто хоть уловить идею как это можно зделать?

22 ответов в теме “раскрытие скобок”

  1. 5
    Жека Кирпичев ответил:

    А какая разница, 2 или не 2?
    Если надо перемножить выражения P, Q, R и S, то перемножь P,Q,R и умножь то, что получилось, на S. Тебе вполне хватит алгоритма, умеющего перемножать два выражения.

  2. 4
    Quizful Team ответил:

    не много предусматривать. выше написал уже:
    Применение операции производится в 2 цикла – первый по элементам первого выражения, а второй – по элементам второго.
    ну и еще один цикл – это обход всех групп в скобках

  3. 3
    Антон Манискевич ответил:

    дело в том, что груп получается не 2 а больше… для 4 елементов возможно дето около 16 разных вариантов располажения… предусматривать все очень накладно…

  4. 2
    Леонид Максимов ответил:

    проще говоря, вам требуется программа, занимающаяся умножением многочленов. можете по этим словам поискать – популярная задачка.

  5. 1
    Quizful Team ответил:

    сначала нужно разбить выражение на группы, далее использовать преобразования, которые вы указали, для каждых двух групп.
    Применение операций производится в 2 цикла – первый по элементам первого выражения, а кторой – по элементам второго.

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.