C#怎么对代数式进行四则运算?尤其是怎么乘除?比如能求出(n+1)*(n+2)=n^2+3n+2,(n+1)/n=1+1/n之类的,有没有人写过类似的类?
2019-05-07
C#怎么对代数式进行四则运算?
尤其是怎么乘除?比如能求出(n+1)*(n+2)=n^2+3n+2,(n+1)/n=1+1/n之类的,有没有人写过类似的类?
优质解答
这种算法只是数据界的算法,跟计算机运算不搭嘎,我们甚至可以把n认为是个汉字.如:
(汉字+1)*(汉字+2)=汉字^2+3汉字+2
这种表达随便你怎么写,计算机认为都是显示在面前的字符.他能运算只有数值,不可能把数值和字母汉字之类的去运算,所以要达到你的目的,需要做字符串处理:
(n+1)*(n+2)
这个表达式我们先判断他有几个“(”,几个“)”,这是判断运算元素数量
再去判断 +、-、*、/ 符号分割的部分,在括起始为()号内他就是一级运算,在起始为(()内他是二级运算 ,依次类推.这是判断运算级别
最后按照你的意思组合这些提出来的字符串.以字符串表示出来.
这个过程不难,但是做起来实在有点低级趣味
这种算法只是数据界的算法,跟计算机运算不搭嘎,我们甚至可以把n认为是个汉字.如:
(汉字+1)*(汉字+2)=汉字^2+3汉字+2
这种表达随便你怎么写,计算机认为都是显示在面前的字符.他能运算只有数值,不可能把数值和字母汉字之类的去运算,所以要达到你的目的,需要做字符串处理:
(n+1)*(n+2)
这个表达式我们先判断他有几个“(”,几个“)”,这是判断运算元素数量
再去判断 +、-、*、/ 符号分割的部分,在括起始为()号内他就是一级运算,在起始为(()内他是二级运算 ,依次类推.这是判断运算级别
最后按照你的意思组合这些提出来的字符串.以字符串表示出来.
这个过程不难,但是做起来实在有点低级趣味