これは警官と強盗の挑戦です。この課題に対する警官のスレッドはこちら
考えるべき興味深い質問は次のとおりです。
番号のシーケンスがある場合、どのシーケンスについて話しているかが明確になる前に、それらの番号をいくつ提供する必要がありますか?
私はから順に、正の整数についての話をしたい場合は例えば、私が言うことができる、それは本当に十分でしょうか?
この質問に答える1つの方法があり、コードゴルファーになるには、コードゴルフが関係します。これらの用語を生成する最短コードがシーケンスのすべての用語を生成する場合、シーケンスの十分な用語を提供しました。これをcode-golfの観点から考えると、テストケースを通過する最短のコードが目的のタスクを実行するように、十分なテストケースを提供したことになります。
チャレンジ
この挑戦は警官と強盗の挑戦です。どの警官がテストケースを提示し、強盗は、意図されたシーケンス以外のテストケースをスプーフィングするためのより短い方法を見つける必要があります。警官は次のものを提示します。
入力として正の整数を受け取り、出力として整数を生成するコード。このコードは、0個または1個のインデックスを付けることができますが、インデックスが何であるかを明確にする必要があります。このコードはシーケンスを定義します。
出力に影響する可能性のある関連するプラットフォームまたは言語の要件(longintのサイズなど)。
コードによって計算されたシーケンスの最初のn項とともに、数値。これらは「テストケース」として機能します。
強盗は、提示されたものよりも短い同じ言語のプログラムを見つけ、すべてのテストケースに合格します(最初の入力に対して警官のコードと同じ出力を生成します)。強盗のコードは、警官のプログラムからの出力がnよりも大きい数で異なっていなければなりません。
得点
強盗は、発見されたクラックの数でスコアが付けられ、クラックが多いほど良くなります。元のクラックよりも短い有効な回答を見つけることにより、回答を再びクラックすることができます。2回目に答えがクラッキングされた場合、ポイントは最初ではなく2番目のクラッカーに与えられます。