この質問は、長い電話会議で立ち往生しているときにプレイしたいゲームによってもたらされました。
24時間制(00:00から23:59)の任意の2つの時刻が与えられた場合、基本的な算術演算のみを使用して、その間のすべての時間で有効な数学方程式をいくつ生成できますか?
入力: 24時間サイクルの有効な時間を表す2つの4桁の文字列(コロンなし)。
例:
input = 0000、1300の場合
03:26 produces: "0+3*2=6" and "03*2=6" etc.
11:10 produces quite a few, including: "1*1=1+0" and "1=1=1^0" and "1=11^0" etc.
12:24 produces: "1/2=2/4" and "1=(2*2)/4" etc.
有効な操作は次のとおりです。
- 添加
- 引き算
- 乗算
- 除算(浮動小数点)
- べき乗
- 階乗
その他の許可される記号
- 括弧
- 等号
最短のコードが優先されます。
ノート
- 目標は、有効な式を含む回数ではなく、2回の間の有効な式の数を見つけることです。
- 入力として指定された2つの時間は、時間の範囲に含まれます。
- 可能な任意の方法で数字をグループ化できます。そのため、「1223」は「12 23」、「1 2 23」、「1 223」などになります。
- 必要な数の括弧を使用できます。
- 複数の
=
記号を使用できます。たとえば、時間11:11
には有効な式があります1=1=1=1
。 - 1回目が2回目以降に発生する場合、時間の範囲は翌日に渡るようにラップする必要があります。
- 番号は元の順序のままにする必要があります。数字を並べ替えることはできません。
- 数字をクラスタリングする場合、ゼロは絶対に最前面の数字である場合があります。その場合、それらは無視されます(「03 03」としてクラスター化された「0303」は、値が3の2桁のみです)。
- マイナス記号を単項否定として使用することはできません。したがって、「12:01」は「1-2 =-(01)」を生成しませんが、DOESは「1-2 = 0-1」を生成します。
- 数字に小数点を追加することはできません。したがって、「12:05」は「1/2 = 0.5」を生成しません。
- 階乗の連鎖はありません-数字の後に最大で1つの「!」が続く場合があります。例:「5!」有効ですが、「5 !!」有効ではない。
2
apps.getpebble.com/en_US/application/5309427924c4582908000046
—
ベータ崩壊
「有効な操作」には、テストケースを追加できないように思われます。それを「有効な操作は」に変更し、いくつかのテストケースを追加した場合、より良い質問になるでしょう。また、エンドポイントについて、正確には有用であろう:入力のため
—
ピーターテイラー
0000 1300
の方程式が由来すべきである0000
と1300
カウントに含まれますか?
数字「1423」が与えられた場合、「1 + 4 = 2 + 3」、「(1 + 4)=(2 + 3)」、「(1 + 4)= 2 + 3」および「1 + 4 =(2 +3)」は1つまたは4つの方程式としてカウントされますか?そして... 「0000」のすべての方程式は何ですか?私は約100の可能性、またはそれ以上を考えています...これは可能でしょうか?
—
ボベル
単項演算子の使用に制限はありますか?ルールにこのような制限がない場合、階乗は繰り返し適用できるため、完全な解決策は不可能である可能性があります。
—
マイケルスターン
マイケル、それは素晴らしい観察です。それで、パズルのために、もしそれが理にかなっているなら、私はそれを「数字」ごとに1つの階乗に制限すると思います。そのため、5!有効ですが、5 !! 有効ではない。
—
nobillygreen