例如,有四个表达式
1,
(A+B-C)*D
2,
(B+A-C)*D
3,
(B-C+A)*D
4
D*(A+B-C)
这四个表达式都是一样的,只是其中的操作数的位置不同;
请问怎判断这些表达是相等的;(注:这里的相等不是指计算结果值)  
给个建议吧,不给出代码也行,有代码就更好啦

解决方案 »

  1.   

    这个问题 可以先去  括号  然后 对去过括号的 表达式进行 求解全排列。。
    ran后比较
      

  2.   

    Matlab有表达式这种数据类型,其实就是输入的字符串,表达式类型的数据可以取导数,做积分
    ,可以实现很复杂的功能,而且这些操作在Matlab中实现之后可以打包成ActiveX供VC或者Delphi等高级语言调用...
      

  3.   

    看了 下 matlab  的函数 好多相关 展开表达式的....
    对不复杂的 可以自己展开 作为比较.
      

  4.   

    把它们的括号去掉,变成ad+bd-cd的形式,然后排序一下就可以判断是否相等了