これは警官と強盗の挑戦です。これが強盗のスレッドです。警官のスレッドはここにあります。
警官はOEISから任意のシーケンスを選択し、そのシーケンスの最初の整数を出力するプログラムpを作成します。彼らはまた、いくつかの文字列を検索します秒。sをp のどこかに挿入する場合、このプログラムはシーケンスの2番目の整数を出力する必要があります。s + sをpの同じ場所に挿入する場合、このプログラムはシーケンスの3番目の整数を出力する必要があります。同じ場所にあるs + s + sは4番目を印刷し、以下同様に続きます。以下に例を示します。
Python 3、シーケンスA000027
print(1)
隠し文字列は2バイトです。
文字列は+1
、プログラムprint(1+1)
がA000027の2番目の整数を印刷するため、プログラムがprint(1+1+1)
3番目の整数を印刷するためなどです。
警官は、シーケンス、元のプログラムp、および非表示の文字列sの長さを明らかにする必要があります。強盗は、その長さまでの文字列と、それを挿入してシーケンスを作成する場所を見つけることにより、提出物を解読します。文字列は、有効なクラックであるために意図したソリューションと一致する必要はなく、挿入される場所も一致する必要はありません。
警官の回答の1つをクラックした場合は、解決策(非表示の文字列と場所が公開されている)と回答へのリンクを投稿してください。次に、ここであなたのクラックへのリンクで警官の答えにコメントしてください。
ルール
ソリューションは、シーケンス内の任意の数、または少なくともメモリ制限、整数/スタックオーバーフローなどが原因で失敗する合理的な制限まで動作する必要があります。
勝者の強盗は、最も多くの提出物をクラックするユーザーであり、タイブレーカーはその数のクラックに最初に到達します。
勝利した警官は、割れていない最短の文字列の警官です。Tiebreakerは最短のpです。ひびのない提出物がない場合、解決策を持っていた警官が最も長い間勝ちました。
安全であると宣言するには、ソリューションを1週間クラックせずに、隠し文字列(および挿入する場所)を公開する必要があります。
sはネストできません。エンドツーエンドで連結する必要があります。たとえば、sがいた
10
、各反復は行くだろう10, 1010, 101010, 10101010...
ではなく、10, 1100, 111000, 11110000...
すべての暗号化ソリューション(たとえば、部分文字列のハッシュのチェック)は禁止されています。
sにASCII以外の文字が含まれている場合は、使用するエンコードも指定する必要があります。
%
左アソシエイトを考えると、それが機能するのは面白いと思います。