チャレンジ
単純な「スパイ対スパイ」チャレンジ。
次の仕様でプログラムを作成します。
- プログラムは任意の言語で記述できますが、512文字を超えてはなりません(このサイトのコードブロックで表されています)。
- プログラムは、入力として5つの符号付き32ビット整数を受け入れなければなりません。5つの引数を受け入れる関数、単一の5要素配列を受け入れる関数、または標準入力から5つの整数を読み取る完全なプログラムの形式をとることができます。
- プログラムは、1つの符号付き32ビット整数を出力する必要があります。
- プログラムは、シーケンスとして解釈される5つの入力が、プログラマが選択した特定の算術シーケンス(「キー」と呼ばれる)と一致する場合にのみ1を返す必要があります。この関数は、他のすべての入力に対して0を返す必要があります。
算術シーケンスには、シーケンスの各連続要素が、その前身に何らかの固定定数を加えたものに等しいという特性がありますa
。
たとえば、25 30 35 40 45
シーケンスの各要素はその前身に5を加えたものに等しいため17 10 3 -4 -11
、算術シーケンスです。同様に、各要素はその前身に-7を加えたものに等しいため、算術シーケンスです。
シーケンス1 2 4 8 16
と3 9 15 6 12
は、算術シーケンスではありません。
キーは、整数オーバーフローを伴うシーケンスが許可されていないという唯一の制限事項がありますが、任意の算術シーケンスを選択できます。つまり、シーケンスは厳密に増加、厳密に減少、またはすべての要素が等しくなければなりません。
例として、キーを選択するとします98021 93880 89739 85598 81457
。プログラムは、入力が(順番に)これら5つの数値に一致する場合は1を返し、そうでない場合は0を返す必要があります。
キーを保護する手段は、独自の斬新なデザインである必要があることに注意してください。また、ゼロ以外の確率で誤検知を返す可能性のある確率的ソリューションは許可されていません。特に、標準暗号化ハッシュのライブラリ関数を含む、標準暗号化ハッシュを使用しないでください。
スコアリング
文字数ごとの最短のクラックされていない提出物が勝者と宣言されます。
混乱がある場合は、お気軽に質問またはコメントしてください。
カウンターチャレンジ
独自のプログラムを提出した人を含むすべての読者は、提出物を「クラック」することをお勧めします。キーが関連するコメントセクションに投稿されると、提出物がクラックされます。提出物が変更またはクラックされることなく72時間持続する場合、「安全」とみなされ、その後のクラックの成功はコンテストのために無視されます。
更新されたクラッキングスコアポリシーの詳細については、以下の「免責事項」を参照してください。
クラックされたサブミッションは競合から排除されます(「安全」でない場合)。編集しないでください。読者が新しいプログラムを提出したい場合は、別の回答で提出する必要があります。
最高スコアのクラッカーが、受賞プログラムの開発者とともに受賞者として宣言されます。
自分の提出物をクラックしないでください。
幸運を祈ります。:)
リーダーボード
最後から2番目の順位(デニスのCJam 49提出の安全性の保留)。
安全なロッカー
- CJam 49、デニス
- CJam 62、デニス セーフ
- CJam 91、デニス セーフ
- Python 156、Maarten Baert セーフ
- Perl 256、chilemagic セーフ
- Java 468、Geobits セーフ
止められないクラッカー
- ピーター・テイラー [Ruby 130、Java 342、Mathematica 146 *、Mathematica 72 *、CJam 37]
- デニス[Pyth 13、Python 86 *、Lua 105 *、GolfScript 116、C 239 *]
- MartinBüttner[Javascript 125、Python 128 *、Ruby 175 *、Ruby 249 *]
- ティロ[C 459、Javascript 958 *]
- freddieknets [Mathematica 67 *]
- イルマリ・カロネン[Python27 182 *]
- 亜硝酸[C 212 *]
*非準拠の提出
免責事項(更新日11:15 PM EST、8月26日)
スコアリングの問題が最終的にクリティカルマスに達したため(クラックされたサブミッションの3分の2がこれまでに準拠していない場合)、クラックされたサブミッションの数(プライマリ)および準拠したクラックされたサブミッションの文字の総数でトップクラッカーをランク付けしました(セカンダリ)。
以前と同様に、正確な提出物にクラックが発生し、提出物の長さ、および準拠/非準拠のステータスはすべてマークされているため、新しい公式ランキングが不公平であると読者が判断した場合、読者は自分のランキングを推測できます。
ゲームの後半でルールを修正したことに対する謝罪。