Всем привет….
Обращаюсь с просьбой о помощи….
короче задача стоит такая:
дана строка
(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)
помогите кто может…. желательно на делфе, паскале, или асме… неважно, просто хоть уловить идею как это можно зделать?
17 мая 2009 в 16:04
А какая разница, 2 или не 2?
Если надо перемножить выражения P, Q, R и S, то перемножь P,Q,R и умножь то, что получилось, на S. Тебе вполне хватит алгоритма, умеющего перемножать два выражения.
17 мая 2009 в 1:04
не много предусматривать. выше написал уже:
Применение операции производится в 2 цикла – первый по элементам первого выражения, а второй – по элементам второго.
ну и еще один цикл – это обход всех групп в скобках
17 мая 2009 в 1:02
дело в том, что груп получается не 2 а больше… для 4 елементов возможно дето около 16 разных вариантов располажения… предусматривать все очень накладно…
17 мая 2009 в 0:02
проще говоря, вам требуется программа, занимающаяся умножением многочленов. можете по этим словам поискать – популярная задачка.
16 мая 2009 в 23:05
сначала нужно разбить выражение на группы, далее использовать преобразования, которые вы указали, для каждых двух групп.
Применение операций производится в 2 цикла – первый по элементам первого выражения, а кторой – по элементам второго.