私の経済学のクラスでは、友人と私は、日付(MM / DD / YY)形式の数字を再配置して有効な数学方程式を作成する方法を考え出します。ほとんどの場合、連結に加えて、加算、減算、乗算、除算、括弧、およびべき乗を使用できます。
プログラムは同様のことを行う必要があります。プログラムは現在の日付をインポートし、演算子を挿入して、次の規則に従って式を印刷する必要があります。
- 数字は順番に使用する必要があります。数字の再配置は許可されていません。
- 結果の式は数学的に正確でなければなりません。
- 加算、減算、乗算、除算、べき乗、および括弧の使用が許可されています。数字の連結も同様です。ただし、すべての操作が必要なわけではありません。減算記号を使用して数字を負にすることはできません(
-1+1+11=10
2010年11月11日など)。 - プログラムは、標準のマシンで60秒で実行する必要があります。
たとえば、このチャレンジは2015年11月10日に作成されました。プログラムはこれを11/10/15と解釈します。サンプル出力はになります(1+1)/10=1/5
。
ボーナス
プログラムがサポートする次の各コードごとに、コードのバイト数に0.9を掛けることができます。
- プログラムは、形成可能なすべての可能な式を改行で区切って出力します。式が追加のシンボルの昇順でリストされている場合は、追加の0.95を掛けます。
- このプログラムはMM / DD / YYYYの日付でも機能し、年の最初の2桁の可能性に加えて、可能性を印刷します。このボーナスを最初のボーナスと組み合わせる場合、年の最初の2桁のすべての可能性を印刷する必要があります。
- プログラムはまた、複数の等式がある場合の式(例えば、2011年11月11日に、プリント
1=1=1=1=1=1
などの可能性に加えて、印刷される1*1=1=1=1=1
、1*1*1=1=1=1
および1*1*1*1=1=1
すべてのそのような場合には、達成すべき最初のボーナスのために印刷されなければなりません。 - プログラムは、2〜16の基数への変換をサポートしています。基数が10でない場合、式のすべての数値は同じ基数で
(Base b)
記述し、式の後に(必要b
に応じて置き換えて)記述する必要があります。
これはコードゴルフなので、標準的な規則が適用されます。バイト単位の最短コードが優先されます。
1
どのような操作が許可されていますか?
—
anOKsquirrel
@FryAmTheEggmanこれを複製と呼ぶのに十分な類似性はありますか?私はそうは思いませんでした。なぜなら、このチャレンジは1桁だけを使用せず、特定のRHS(平等のみ)を念頭に置いていないからです。
—
アークトゥルス
DD / MM / YYYY> MM / DD / YYYY。
—
orlp
私はあなたが使用したいと思うの式をあなたが書いたところ、あなたの質問に式を(式は方程式の片側だけで、その後、あなたの質問は本当に意味がありません)。
—
パエロエベルマン
これは特定の日付で可能であることが証明されていますか?
—
ザックゲイツ