これは、中学校で数学の先生がプレイしていたゲームに基づいています。彼はボードに5つのランダムな1桁の数字を書き、次にランダムな2桁の数字を書きます。5桁の1桁の数値すべてを使用して2桁の数値を求める方程式を作成しようとします。これをよりよく説明するためのソリューションの例をいくつか示します。
Input: Solution:
7 5 4 8 4 34 5*8-7+4/4 = 34
3 1 5 7 6 54 (7+3)*6-5-1 = 54
3 9 2 1 6 87 9*(2+1)*3+6 = 87
2 1 6 9 7 16 (9-7+6*1)*2 = 16
2 4 5 8 6 96 8*(5+6)+2*4 = 96
3 8 4 5 4 49 8*(4+4)-3*5 = 49
この課題は、特定の入力に対してそのような方程式を生成できるプログラムを作成することです。入力は、コマンドラインまたはプロンプトを介して提供できます。5つの1桁の数字は常に最初に(順不同で)入力され、その後に2桁の数字が続きます。次に、プログラムは見つけた解の方程式を出力します。解決策がない状況を処理する必要はありません。関数は、方程式で次の演算を使用できる必要があります:加算、減算、乗算、および除算。追加の基本的な操作を許可したい場合は、それらが課題の精神にとどまっている限り問題ありません(否定、指数、およびモジュラスは良い追加です)。演算の順序は標準の数学規則に従うため、グループ化には括弧が必要になります。
プログラムは、コード長(必要な空白を含む)に基づいて採点されます。注:除算は正確で、最も近い整数に丸められたり、切り捨てられたりしてはなりません。