タグ付けされた質問 「expression-building」

特定の式を満たすために一連の数学演算子または数値を再配置することについての課題。

10
結果を得るために必要な操作を見つける
したがって、タスクは単純で、数値の配列と結果が与えられた場合、要求された結果を取得するには、arrayから数値に使用する必要がある操作を見つける必要があります。 簡単に始めましょう。加算、減算、乗算、除算などの基本的な演算のみを許可します。 例: Input : [5,5,5,5,5] 100 Output : 5*5*5-5*5 Javaのような言語にいくつかの利点を与えるために、要求はプログラム全体ではなく関数を実装することであり、結果はパラメーター経由で返すか、コンソールに出力できます。 コードはバイト数に基づいてスコアリングされ、ゴルフコードチャレンジなので、最低のスコアが勝ちます。 別の要件は、配列にdigidsのみが含まれている場合、追加の-10ポイントを取得できることです。次の数字から数値を構成できるソリューションをサポートします。すなわち Input : [1,2,3,4,5] 0 Output : 12-3-4-5 出力が提案された出力である場合、いくつかのケースでは複数のソリューションがあることに注意してください。特定のタスクに対して1つ以上のソリューションを提供するかどうかは、あなた次第です。 編集: 結果は数学的な観点から有効である必要があります。したがって、除算は整数ではなく有理除算であり、演算の優先順位は従来の数学と同じです(最初の乗算と除算、次に加算と減算)。

2
ユーザー指定の数値を使用して有効な方程式を生成します
これは、中学校で数学の先生がプレイしていたゲームに基づいています。彼はボードに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 …

12
可能なすべての整数を生成する
入力:あなたは2つの整数を与えている、nとk。nは正(> = 1)の整数、およびk整数は、使用を許可されている回数ですn。 出力:すべてのほとんどで使用して形成することができる非負整数の出力k n:さんは、これらの数学的演算を使用して+、-、*、/、および括弧。 編集:言語が配列/セットなどからの要素の削除をサポートしている場合、負でない整数の要件が必要です。そうでない場合は、必要ありません。 式に存在できる唯一の数値はnです(ただし何度でも)。式の値がデータストレージの最大値(intまたはlongなど)の最大値を超える場合は、それを補正する必要があります(に指定できる最大値はありませんn)。 速度は重要ではありませんが、最短のコードが優先されます! ボーナス: -50:数学演算のリストに指数を含めます。べき乗は、底がe = 2.71828ではなく、nのある式であると定義されています... -50:指定された可能な操作が整数でない場合は、床(または天井)関数を含めます。 例 > 2 2 0 1 4 > 4 3 3 4 5 12 20 64 ... (サンプル入出力には、必ずしもボーナスが含まれていません)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.