優れた数式エディターがない場合に数式を処理するのは面倒で不快です。たとえば、積分とその解を表現したい場合、次のようになります。
積分[x ^ 3 e ^(-mx ^ 2 b / 2)、dx] =-((2 + b m x ^ 2)/(b ^ 2 * e ^((b m x ^ 2)/ 2) * m ^ 2))
でintegrals.wolfram.com、これは、「入力フォーム」と呼ばれています。「入力フォーム」で方程式を見ることを好む人はいません。この方程式を視覚化する理想的な方法は次のとおりです。

(ウォルフラムはこれを「伝統的な形」と呼んでいます)
このコードゴルフでは、「入力形式」の方程式を入力として受け取り、その方程式を「従来の形式」のASCII表現で視覚化するプログラムを記述します。したがって、この例では、次のようになります。
/\ 3
| x
| ------------ dx =
| 2
\/ (m x b)/2
e
2
2 + b m x
-(-----------------)
2
2 (b m x )/2 2
b e m
要件:
- 入力をシャッフル、簡略化、または再配置しないでください。入力によって記述されたのとまったく同じ形式でレンダリングします。
- 4つの基本的な数学演算(+、-、*、/)をサポートします。隣接する2つの数値を乗算しない場合、*記号は暗示されるため、省略してください。
- 統合のサポート(上記の例に示されている)はサポートされていません必要ん。Integrate [...]やSqrt [...]などの関数で入力をサポートできることはボーナスです。
- 上記の例に示すように、累乗をサポートします(n乗根は、1 / n累乗にモデル化できます)。
- 冗長な括弧(上の例の大部分の分母と分子の周りの括弧)は省略してください。
- 分数の分母と分子の式は、水平分割線の上下の中央に配置する必要があります。
- 等号の後に新しい行を開始するかどうかを選択できます。上記の例では、新しい行が開始されます。
- 操作の順序は、出力と入力でまったく同じでなければなりません。
ソリューションをテストするための入力と関連する出力の例:
入力:
1/2 + 1/3 + 1/4
出力:
1 1 1
- + - + -
2 3 4
入力:
3x^2 / 2 + x^3^3
出力:
2 3
3 x 3
---- + x
2
入力:
(2 / x) / (5 / 4^2)
出力:
2
-
x
--
5
--
2
4
入力:
(3x^2)^(1/2)
出力:
2 1/2
(3 x )
通常、質問には、それがどのような種類のコンテストかを表すタグが必要です。あなたがテキストで「コードゴルフ」と言ったので、私は1を自由に追加しました。
—
dmckee ---元モデレーターの子猫
この問題は曖昧すぎてコードゴルフにはなりません。サポートする必要のある構成や、それらがどのように見える必要があるかは言いません。+、-、*、および/をサポートするだけで十分でしょうか?シグマはサポートする必要がありますか?ギリシャ文字はどうですか?あなたが提起した質問に対する可能な解決策は、コード長について比較するには機能が多すぎる可能性があります。
—
MtnViewMark 2011
@MtnViewMark、私はいくつかの「要件」を追加しました...ゴルフが今より良いかどうか私に知らせてください。
—
亜美
@亜美-はい、たくさん。
—
MtnViewMark 2011
私はMtnViewMarkに同意します。これは非常にオープンエンドで曖昧なようです。おそらく、ゴルフの目的のために、入力と出力を明確に定義されたテストケースのセットに制限する方が良いでしょう。リファレンスの実装を行いましたか?
—
ニブラー