ランダムな数式を生成および評価するために、このアイデアを頭の中で実行しています。そこで、私はそれをテストするためにコーディングする前に、それを試してアルゴリズムを作り上げることにしました。
例:
ランダムに生成する式の例を次に示します。
4 + 2 [easy]
3 * 6 - 7 + 2 [medium]
6 * 2 + (5 - 3) * 3 - 8 [hard]
(3 + 4) + 7 * 2 - 1 - 9 [hard]
5 - 2 + 4 * (8 - (5 + 1)) + 9 [harder]
(8 - 1 + 3) * 6 - ((3 + 7) * 2) [harder]
簡単とメディアのものはかなり単純明快です。ランダムint
な演算子で区切られたランダムなs、ここではクレイジーなものはありません。しかし、難しい例の1つを作成できるものを始めるのに苦労しています。1つのアルゴリズムで最後の2つが得られるかどうかさえわかりません。
私が考えていること:
私はそれらのアイデアを試したと言うことはできません。なぜなら、そもそも仕事をする機会がなかった方向に進むのに多くの時間を無駄にしたくなかったからです。それでも、私はいくつかの解決策を考えました:
- 木を使う
- 正規表現を使用する
- クレイジーな「for-type」ループを使用する(間違いなく最悪)
私が探しているもの:
私が検討した解決策とあなた自身のアイデアの間で、あなたが行くのが最善であると信じる方法を知りたいです。
開始する良い方法を見つけたら、正しい方向へのリード、たとえばアルゴリズムの開始や、その一般的な構造に感謝します。
また、これらの式を評価する必要があることに注意してください。これは、式が生成された後、またはその作成中に実行できます。あなたの答えでそれを考慮に入れれば、それは素晴らしいことです。
言語に関連するものを探しているわけではありませんが、記録のために、Objective-Cで実装することを考えています。
:
私はint
s を操作したいだけなので、これらの例には演算子は含まれていません。この演算子は多くの検証を追加します。あなたの答えがこれを処理するソリューションを提供する場合、それは素晴らしいことです。
私の質問に説明が必要な場合は、コメントでお尋ねください。ご協力いただきありがとうございます。