0

重複の可能性:
C#で表現する文字列を自動的に計算します

「5x+(2x * 6x)+2」のような単純な代数方程式を単純化する方法を詳細に説明しているリソースを誰かに教えてもらえますか? + "、"-"、" * "、" / "、"^"および括弧。これまで、修正後から修正後に変換して評価する数値用語のパーサーとエバリュエーターを実装してきました。

誰かが私がこれをどのように達成できるかについての基本的な要約を私に与えることができれば、それは大いにありがたいです。

4

1 に答える 1

1

方程式を表すツリーがすでに内部にある場合は、各ノードに再帰的にアクセスして、2つのサブノードの項を組み合わせる方法があるかどうかを判断できます。各ノードで何をするかを考えてから、境界条件(ノードがnull、ノードに子がないなど)について考えます。

これが私がそれにアプローチする方法です:

  1. 順番に各子供を訪問します
  2. 子の同じ変数の共通の累乗を見つけてそれらを組み合わせる関数があります。多変数方程式を考えますb。出力フォーマットと作業コピーフォーマットを覚えておいてください。最終結果をテキストに戻す必要があります。

それが始まりです。おもう

于 2012-04-06T13:08:50.373 に答える