给一个字符串,如下面这样的:sin(x*1)*1.0sec(cos(x*1))*sec(cos(x*1))*sin(x*1)*1.0sec(cos(x/x))*sec(cos(x/x))*sin(x/x)*(1*x-x)/(x*x)(sec(cos(x*1))*sec(cos(x*1))*sin(x*1)*1.0)+(sinx+x*((-cosx)*1))(sec(cos(x*1))*sec(cos(x*1))*sin(x*1)*1.0)*(sinx)+(tan(cos(x*1)))*((-cosx)*1)(-csc(tan(cos(x*0))))*(-csc(tan(cos(x*0))))*sec(cos(x*0))*sec(cos(x*0))*sin(x*0)*0
以参数的形式传入,相对的化简为以下的字符串并从方法返回:sinxsec(cosx)*sec(cosx)*sinx0sec(cosx)*sec(cosx)*sinx+sinx+x*(-cosx)sec(cosx)*sec(cosx)*sinx*sinx+tan(cosx)*(-cosx)0
化简的依据很简单:
1*x -> x
x*1 -> x
0*x -> 0
x*0 -> 0
x/x -> 1
......
以及去除多余的括号
另外我自己写了那么几个方法,当然啦,没把问题解决。如果你对这样的问题有足够的兴趣,就先自己努力想一下可以怎么解决吧。然后可以再看一下我写的破东西,希望会给你带去一点有用的信息我写的东西在:http://liltos.blogdriver.com/liltos/inc/liltos.txt
因事情急,我在CSDN发了三四遍,希望有人可以解决。