タグ付けされた質問 「cops-and-robbers」

2つの敵対的(および非対称的)サブチャレンジで構成される課題の場合。

30
ポリグロットアナグラム警官のスレッド
この課題には2つのスレッドがあります。これは警官のスレッドです。強盗のスレッドはここにあります。 あなたの課題は、OEISシーケンスを選択し、STDINまたはnが正の数である他の形式の標準入力を介してnが与えられたときにシーケンスのそのn番目のアイテムを生成する2つの異なる言語で2 つの完全なプログラムを書くことです。ただし、2つのプログラムはアナグラムである必要があります。つまり、それぞれを相手の文字から並べ替えることができます。 プログラムは、数値の10進数とオプションの空白をSTDOUTに出力する必要があります。プログラムはSTDERRに出力する場合がありますが、無視する必要があり、隠されている場合はそうであると明確に述べる必要があります。 必要に応じて、文字コードで出力することもできます。ただし、非表示のソリューションでこれを行う場合は、提出の本文にその旨を記載する必要があります。 その後、OEIS番号、ソースコードとの名前発表します1つのそれはである言語を。 強盗は、既に提示した言語以外の言語で実行される元の提出のアナグラムを見つけると、提出をクラックします。彼らは唯一見つけなければならない答えクラックする任意のシーケンスを生成し、元のアナグラムである言語やプログラムを、必ずしもあなたがについて考えた答え。 したがって、シンボルのリストを使用してタスクを実行する言語を見つけるのをできるだけ難しくするように奨励されます。 得点 これはコードゴルフですので、クラックされていない最短のプログラムが勝者です。 言語 2つの提案されたソリューションが両方の言語でタスクを完了しない場合、言語は異なると見なされます。これには、警官のソリューションも強盗のソリューションも相手の言語で正しい出力を生成しない限り、同じ言語の異なるバージョンが含まれます。 すなわち、言語AとBにそれぞれ2つのソリューション1と2がある場合、ソリューション2は言語Aで正しい出力を生成してはならず、ソリューション1は言語Bで正しい出力を生成してはなりません。 安全性 提出物が1週間解読されたら、ソリューションを投稿し、投稿の安全性を宣言できます。1週間後に解決策を投稿しないことを選択した場合、答えはまだ解読されている可能性があります。

30
ソースコードを解読する[クラッキング試行のための強盗スレッド]
これは、メインのUnscramble the Source Codeチャレンジのコンパニオンスレッドです。 警官の回答の1つを解読できたと思われる場合は、このスレッドへの回答としてソリューションを投稿してください。 念のため、各サブミッションをクラックする試みが1回あります。クラッキングの試みは、ソースコードのスクランブルされていないバージョンになります。推測が説明(同じ文字、出力、そしてもちろん言語)と一致し、あなたが最初の正しい推測である場合、あなたはポイントを獲得します。プログラムがオリジナルと完全に一致する必要はなく、単に同じ文字を使用し、同じ機能を持っていることに注意することが重要です。これは、複数の正解がある可能性があることを意味します。 最も多くのポイント(成功したクラック)を持つ強盗が勝ちます。 リーダーボード 解法が多すぎる MartinBüttner:(Python 3、16、matsjoyce)、(CJam、15、Ypnypn)、(Mathematica、29、Fox Wilson)、(JavaScript、15、Caridorc)、(CJam、52、user23013)、(Pyth、11、 isaacg)、(PHP、22、kenorb)、(PHP、13、kenorb)、(Ruby、17、Doorknob)、(PHP、49、bwoebi)、(Mathematica、35、Tally)、(GolfScript、13、Peter Taylor )、(JavaScript、25、Cris)、(JavaScript、29、Cris)、(JavaScript、26、Cris)、(Bash、33、Debasis)、(JavaScript、10、Cris)、(Lua、28、ChipperNickel)、(Mathematica、18、Arcinde)、(JavaScript、30、Qwertiy)、(CJam、13、user23013)、(JavaScript、41、Ismael Miguel)、(Ruby、38、Doorknob)、(Marbelous、36、es1024)、(PHP、33、Ismael Miguel)、(JavaScript、29、Joe)、(JavaScript、28、Shawn Holzworth)、(Ruby、35、historcrat)、(CJam、19、Ypnypn)、(Ruby、17、Stephen Touset)、(JavaScript、36、MegaTom)、(JavaScript、24、fogcityben)、(Python 3、21、Reticality)、(JavaScript、10、Jamie Barker)、(JavaScript、15、Jamie Barker) 20ソルブ feersum:(Python 3、44 、Sp3000)、(C、70、es1024)、(MATLAB、41、COTO)、(Brainfuck、118、Sp3000)、(C、30、Ethiraric)、(C、28、Mig)、(Python 3、46、hosch250)、(Java、70、Rodolvertice)、(C、29、imallett)、(Java、226、nhahtdh)、(Little Man Computer、63、The Wolf)、(Python 2、89 、ベータ崩壊)、(Python 2、41、muddyfish)、(C、63、es1024)、(C ++、192、Arcinde)、(Java、108、durron597)、(C#、604、eshansingh1)、(C、44、アート)、(Java、134、Olavi Mustanoja)、(Bash、47、Vi。) 15解く user23013:(CJam、18、Ypnypn)、(JavaScript、26、hsl)、(CJam、12、COTO)、(PHP、23、bwoebi)、(PHP、54、Steve Robbins)、(CJam、32、Dennis)、(CJam、19、MartinBüttner)、(Bash、23、The Wolf)、(Ruby、33、Doorknob )、(CJam、34、Dennis)、(JavaScript、82、Ismael Miguel)、(PHP、80、Ismaelミゲル)、(QBasic、43、DLosc)、(QBasic、42、DLosc)、(ECMAScript、90、Cris) 10ソルブ squeamish ossifrage:(Python、44、Caridorc)、(PHP、52、PleaseStand)、(Befunge-93、17、user23013)、(BBC BASIC、187、Beta Decay)、(C、43、Allbeert)、(Ruby、 58、Rodolvertice)、(JavaScript、32、hsl)、(PHP、33、kenorb)、(Python 2、16、imallett)、(PHP、53、PleaseStand) Sp3000:(Python、154、Fox Wilson)、(Python、48、kgull)、(Python、68、horns)、(Python …

30
アウトゴルフできますか?(強盗セクション)
強盗セクション 警官のセクションはここにあります。 チャレンジ あなたの仕事は、同じ言語と同じバージョン(たとえば、Python 3.5 ≠ Python 3.4)で警官の提出をアウトゴルフすることです。これは許可されていません。バイト単位の長さが元のサブミッションより短い場合、サブミッションはアウトゴルフされます。提出物をクラックするために、少なくとも1バイトだけゴルフをする必要があります。たとえば、タスクが2× nを実行することであり、提出が次の場合: print(2*input()) 次の操作を行うことにより、警官を追い抜くことができます。 print 2*input() またはこれも(ラムダが許可されているため): lambda x:2*x これを次のヘッダーで投稿します。 ##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link} 例えば: パイソン2、16 12バイト、アドナン(提出に+リンク) lambda x:2*x A005843を計算します(オフセット= 0)。 その場合、提出物をクラックしました。 得点 最も多くの提出物をクラックした人が勝者です。 ルール クラックの提出は、警官の提出と同じ言語である必要があります。 同じ入力が同じ出力になります(a(2)= 4は4のままです)。 Pythonなどの言語の場合、その言語に標準で含まれているライブラリをインポートできます。(したがって、numpy / sympyなどはありません) 入力と出力は両方とも10進数です(基数10)。 注意 このチャレンジは終了しました。Robbersセクションの勝者はfeersumです。CnRの最終スコアは以下のとおりです。 feersum:16クラック デニス:12クラック …

30
警官:正規表現を作る-ヘビを作る
これは警官のスレッドです。強盗のスレッドはここにあります。 入力を受け取り、nn行n列の「スネークマトリックス」を作成するコードを記述します。 スネークマトリックスは、次のパターンに従うマトリックスです。 3行3列: 1 2 3 6 5 4 7 8 9 および4行4列: 1 2 3 4 8 7 6 5 9 10 11 12 16 15 14 13 正確な出力形式はオプションです。たとえば、output [[1 2 3],[6 5 4],[7 8 9]]、または同様のものがあります。 言語名と、コードに完全に一致する正規表現を指定する必要があります。正規表現の詳細度を選択できます。極端な場合、考えられるすべての文字列に一致する正規表現を作成できます。この場合、コードを解読するのは非常に簡単です。またn=4、強盗があなたが選択した正確な形式を知るように、の出力も提供する必要があります。 regex101.comで利用可能なregexフレーバーの1つ、またはRubyフレーバーを使用できます。 PCRE(PHP) Javascript Python ゴラン ルビー 使用しているものを指定する必要があります。 ノート: 合理的に大きいすべてをサポートする必要がありnます。データ型またはメモリがオーバーフローしないと仮定できます。デフォルトのデータ型が8ビットn<=11の符号付き整数である場合、を仮定できますn<=15。それが符号なしの8ビット整数である場合、を仮定できます。 強盗は、先行/末尾のスペースと改行を除き、提出物の出力形式と一致する必要があります。これは、SEの形式によって削除される可能性があるためです。 受賞基準: …

30
この整数シーケンスを出力するプログラムを見つけます(Copsのスレッド)
これは警官のスレッドです。強盗のスレッドはここに行きます。 最後の警官のスレッドはすでに4か月前です。 警官の仕事 警官の仕事は、正の(または負でない)整数を受け取り、別の整数を出力/返すプログラム/関数を作成することです。 プログラムがゼロに耐えられない場合、警官はそれを述べなければなりません。 警官は、少なくとも2つのサンプル入力/出力を提供します。 たとえば、フィボナッチ数列を記述することにした場合、答えにこれを記述します。 a(0)は0を返します a(3)は2を返します 例の数は、警官の裁量次第です。 ただし、シーケンスは実際にIntegerSequences®のオンライン百科事典に存在する必要があるため、擬似乱数ジェネレーターはありません。:( 警官は、好きなだけキャラクターを隠すことができます。 たとえば、私のプログラムが次の場合: function a(n) if n>2 then return n else return a(n-1) + a(n-2) end end 次に、これらの文字を必要に応じて非表示にします。 function a(n) if ### then ######## else ###################### end end 強盗の仕事 明らかに元のソースコードを見つけることです。 ただし、同じ出力セットを生成する提案されたソースコードも、OEISで検出されている限り、有効と見なされます。 警官のためのヒント OEISの検索機能は連続した用語に対してのみ機能するため、シーケンスを非表示にする場合は、どこかに穴を空けてください。 どうやらシーケンスを非表示にする方法はありません。シーケンスを選択するとき、これを念頭に置いてください。 スコアは、コードのバイト数です。 勝者は、7日間でクラックされていない最低スコアの提出物になります。 2016年4月に投稿された提出物のみが勝利の対象となります。これより後の投稿は歓迎されますが、勝つことはできません。 勝利を主張するには、完全なコードとOEISシーケンスを明らかにする必要があります(7日後)。 投稿は次のようにフォーマットする必要があります(NNは文字数です): Lua、98バイト …

22
干し草の山に針を隠す(警官)
これは警官と強盗の挑戦の一部です。強盗の部分はここに行きます。 警官の挑戦 文字列を出力する、選択した言語でプログラムまたは関数を作成する必要がありますHaystack。しかし、結果の文字列があるように、あなたのプログラムから(残りの順序を変更せずに)文字のサブセットを除去することが可能でなければならないも印刷し、同じ言語で有効なプログラムNeedleの代わりに。両方のプログラム/関数は、オプションで単一の末尾の改行を(互いに独立して)出力できますが、それ以外は何も出力しません。出力では大文字と小文字が区別され、指定された正確な大文字小文字に従う必要があります。 もちろん、あなたの目標は「針」を非常によく隠すことです。しかし、あなたの提出物は、あなたが意図したものだけでなく、どんな有効な解決策でもクラックされる可能性があることに注意してください。 あなたの答えに含めてください: 提出の言語(および関連する場合はバージョン)。 Haystackプログラムのサイズ(バイト単位)。 Haystackプログラム自体。 STDOUTでない場合の出力メソッド。 可能であれば、選択した言語のオンラインインタプリタ/コンパイラへのリンク。 提出物はプログラムまたは関数のいずれかですが、スニペットではなく、REPL環境を想定してはなりません。入力を受け付けてはならず、STDOUT、関数の戻り値、または関数(出力)パラメーターを介して出力できます。 両方のプログラム/機能は、合理的なデスクトップマシンで5秒以内に完了する必要があり、確定的である必要があります。ハッシュ、暗号化、または乱数生成に組み込み関数を使用しないでください(乱数ジェネレーターを固定値にシードした場合でも)。 公平を期すために、選択した言語用の無料のインタープリターまたはコンパイラーが必要です。 ニードルプログラムが見つかった場合、答えは破られます。回答が7日間クラックされていない場合は、回答で目的のニードルプログラムを公開できます。これにより、提出が安全になります。解決策を公開しない限り、7日が経過していても、強盗によってまだ解読されている可能性があります。最短の安全な Haystackプログラム(バイト単位)が勝ちます。 例 さまざまな言語の簡単な例を次に示します。 Ruby Haystack: puts 1>0?"Haystack":"Needle" Delete: XXXXXXXXXXXXXXX Needle: puts "Needle" Python 2 Haystack: print "kcatsyaHeldeeN"[-7::-1] Delete: XXXXXXXX XX Needle: print "eldeeN"[::-1] 削除された文字のサブセットは連続している必要はありません。 クラックされていない提出 <script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = …

26
二乗言葉を作る
チャレンジ あなたの仕事は、与えられた文字列入力を取り、二乗形式で入力を出力するプログラムを作成することです。空の文字列は空の文字列を返す必要があります。 例 入力が与えられた場合: golf プログラムは以下を出力するはずです。 golf o l l o flog 入力: 123 出力: 123 2 2 321 入力: a 出力: a 入力: Hello, world! 出力(との間のスペースに注意してください-w-ギャップは単なる改行ではありません): Hello, world! e d l l l r o o , w w , o o r l l l d e !dlrow …

27
警官:隠されたOEISサブストリング
これは警官と強盗の挑戦です。これは警官のスレッドです。強盗のスレッドはこちら。 警官として、OEISから任意のシーケンスを選択し、そのシーケンスの最初の整数を出力するプログラムpを作成する必要があります。いくつかの文字列sも見つける必要があります。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の長さを明らかにする必要があります。強盗は、その長さまでの文字列と、それを挿入してシーケンスを作成する場所を見つけることにより、提出物を解読します。文字列は、有効なクラックであるために意図したソリューションと一致する必要はなく、挿入される場所も一致する必要はありません。 ルール ソリューションは、シーケンス内の任意の数、または少なくともメモリ制限、整数/スタックオーバーフローなどが失敗する合理的な制限まで動作する必要があります。 勝者の強盗は、最も多くの提出物をクラックするユーザーであり、タイブレーカーはその数のクラックに最初に到達します。 勝利した警官は、割れていない最短の文字列の警官です。Tiebreakerは最短のpです。ひびのない提出物がない場合、解決策を持っていた警官が最も長い間勝ちました。 安全であると宣言するには、ソリューションを1週間ひび割れさせずに、非表示の文字列(および挿入する場所)を公開する必要があります。 sはネストできません。エンドツーエンドで連結する必要があります。たとえば、sがいた10、各反復は行くだろう10, 1010, 101010, 10101010...ではなく、10, 1100, 111000, 11110000... シーケンスの最初の用語ではなく、2番目の用語で開始することもできます。 シーケンスに有限数の用語がある場合、最後の用語を超えると、未定義の動作が発生する可能性があります。 すべての暗号化ソリューション(たとえば、部分文字列のハッシュのチェック)は禁止されています。 sに非ASCII文字が含まれている場合は、使用するエンコードも指定する必要があります。

17
重なり合うポリグロット
多くのC&Rの課題とは異なり、これには別の強盗の投稿は必要ありません。強盗の目的は、以前の回答を解読し、新しい回答を警官として投稿することです。 回答者として、次のような一連のポリグロットを作成します(各列は言語であり、各エントリはその言語での回答の出力です)。 Language: 1 2 3 4 5 6 7 8 ... Answer 1: 0 1 2 Answer 2: 1 2 3 Answer 3: 2 3 4 Answer 4: 3 4 5 Answer 5: 4 5 6 Answer 6: 5 6 7 ... (空白スペースは、その場合の動作が不要であることを意味します)。 各答えは3つの言語で動作し、前の回答で印刷番号よりもそれぞれ複数である3つの異なる連続番号印刷(最初の回答印刷をすべきである0、1と2)。各回答は、以前の提出からの2つの言語と、3番目の新しい言語を使用します。回答者は、この第三言語が何であるかを難読化しようとする必要があります。 新しい回答を投稿するには、次のことを行う必要があります。 その第三言語が何であるかを見つけることにより、最新の答えをクラックします。 できれば、亀裂の説明を追加し、回答者に通知してください。提出物がクラックされたら、できれば説明も追加してください。 この回答の2番目と3番目の言語と、選択した別の言語で構成される多言語を書きます。最初の2つの言語を公開しますが、新しい言語は公開しません。この言語(またはそれが機能する他の言語)を見つけることが次のポスターの目標となるため、難読化を試みる必要があります。 仕様書 …

30
警官-平方時間平方根
注:これは警官のスレッドであり、スクランブルコードを投稿する必要があります。ここに、クラックされたソースが投稿され、警官の答えにリンクされる強盗のスレッドがあります。 タスク:最短書く安全な整数の乗算平方根プログラムをNの二乗でN これは警官であるため、ルールは次のとおりです。 答えとして、ソースコードのスクランブルバージョンを投稿します(文字は任意の順序で記述する必要があります)。スクランブルバージョンは動作しないはずです! 任意の標準的な方法で入力を取得できます。出力についても同様です。ハードコーディングは禁止されています 強盗によってコードがクラックされた後(これが発生した場合)、タイトルにコードがクラックされていることを言及し、正確なコードで回答の本文にネタバレを追加する必要があります 同じことが安全な回答にも当てはまります(安全だと言ってネタバレを追加します) コードは、投稿後5日以内に誰もコードをクラックしていない場合、安全であるとみなされ、オプションでタイトルに指定できます プログラミング言語を指定する必要があります バイト数を指定する必要があります 回答で丸めメカニズムを指定する必要があります(以下を参照) 結果は2 32より小さく、nは常に正であると仮定できます。結果が整数の場合、小数点の有無にかかわらず正確な値を返す必要があります。それ以外の場合、最小の小数精度は、選択した丸めメカニズムで小数点以下3桁になりますが、それ以上を含めることができます。回答に丸めメカニズムを明記する必要があります。分数として返すことはできません(分子、分母のペア-すみません、Bash!) 例: In -> Out 4 -> 32.0 (or 32) 6 -> 88.18163074019441 (or 88.182 following the rules above) 9 -> 243.0 25 -> 3125.0 4月末までに最短の安全な回答が勝者と見なされます。

22
基本的なASCIIタリー
代替タイトル:壁にあなたの刑務所の文を集計します numberを指定するとn、出力はグループごとに従来の5に、行ごとに50にグループ化されます。 例 1 | | | | 4 |||| |||| |||| |||| 5 |||/ ||/| |/|| /||| 6 |||/ | ||/| | |/|| | /||| | 50 |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ |||/ ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| ||/| |/|| |/|| …
36 code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

30
コードラダー、警官
注:このチャレンジは終了しました。提出はまだ歓迎されていますが、勝つことはできません。 これは警官のスレッドです。強盗のスレッドはここに行きます。 整数を出力するコードを記述します1。(選択した)単一の文字を追加、削除、または置換する場合、コードは整数を出力する必要があります2。さらに同じ文字(同じ文字または別の文字)を変更すると、コードが出力されます3。できる限りこのように続けますが、最大10までです。デフォルトの出力形式ans = 1は受け入れられます。STDERR(または同等のもの)への出力は無視できます。 言語、初期コードのバイト数、動作する整数の数、および初期コードのオプションの文字数を明らかにする必要があります。注:キャラクターを公開する必要はありませんが、キャラクターを公開すると、同じ位置で同じキャラクターを使用する必要があるため、強盗にとって難しくなる可能性があることに注意してください。表示されない文字(たとえば、アンダースコア)を示すために使用する文字を選択できますが、これを必ず指定してください。 警官は、1週間後にクラックのないコードを提供し、提出を「SAFE」と呼ぶことができます。勝った提出物は、番号10を生成する最短の無亀裂の提出物になります。亀裂のない提出物が10を印刷できない場合、9を生成する最短のコードが勝ちます。強盗はあなたと同じ変更を行う必要がなく、正確なコードを再現する必要がないことに注意してください(すべてのキャラクターを公開しない限り)。出力のみを再現する必要があります。 11月24日以降に投稿された投稿は歓迎されますが、勝ちの資格はありません(強盗の数が減る可能性が高いため)。 サンプル投稿: 次の投稿は言語MyLangでの投稿で、長さは9バイトで、数字1〜8で機能します。 MyLang、9バイト、8桁の数字 この投稿は1〜8で機能します。公開されていない文字はアンダースコア:で示されます_。 abc____i リーダーボード 免責事項:リーダーボードはテストされていないため、クラックされていない提出物がリストに表示されない場合があります。 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>table th,table td{padding: 5px;}th{text-align: left;}.score{text-align: right;}table a{display: block;}.main{float: left;margin-right: 30px;}.main h3,.main div{margin: 5px;}.message{font-style: italic;}#api_error{color: red;font-weight: bold;margin: 5px;}</style> <script>QUESTION_ID=99546;var safe_list=[];var uncracked_list=[];var n=0;var bycreation=function(x,y){return (x[0][0]<y[0][0])-(x[0][0]>y[0][0]);};var byscore=function(x,y){return (x[0][1]>y[0][1])-(x[0][1]<y[0][1]);};function u(l,o){jQuery(l[1]).empty();l[0].sort(o);for(var i=0;i<l[0].length;i++) l[0][i][1].appendTo(l[1]);if(l[0].length==0) jQuery('<tr><td colspan="3" class="message">none yet.</td></tr>').appendTo(l[1]);}function m(s){if('error_message' in …

17
隠された反転(警官のスレッド)
これは、強盗のスレッドがここにある警官と強盗のパズルです。 あなたのタスクは、2つのプログラム(または関数)が互いにアナグラムであり、一方が他方の左逆を実行するように2つ作成します。これらのプログラムは、必要な数の整数または複素数を受け入れて出力できます。あなたが数字をキャラクターポイントまたは他の合理的な手段として採用することを選択した場合、あなたはあなたの答えでそうしていることを示さなければなりません。関数のドメインを制限することを選択した場合は、回答で制限されたドメインも指定する必要があります。 次に、最初のプログラムを回答の形式で提示し、強盗が見つけられるように、逆に非表示にします。 表示されているプログラムは、単射関数を実装する必要があります(そうでない場合、隠された答えが存在することは不可能です)。 1週間以内に解答が解読されなかった場合は、隠された解答を明らかにし、安全とマークすることができます。安全な回答は強盗によって解読されることはなく、無期限に解読されないままになります。 目標は、バイト単位で最短のクラックされていない回答を作成することです。 例 入力に1を追加する次のPythonプログラムを表示できます lambda x:~-x 解決策は次のとおりです。 lambda x:-~x これは、入力から1を引きます

23
暗号ハッシュゴルフ
このコンテストは終了しました。 警官と強盗のチャレンジの性質により、警官のチャレンジは、関連する強盗のチャレンジへの関心が減少した場合、はるかに簡単になります。したがって、ハッシュ関数を投稿することはできますが、回答は受け入れられず、リーダーボードの一部にもなりません。 この課題は、最短の実装のために検索されたハッシュ関数で衝突耐性、すなわち、同じハッシュを持つ2つの異なるメッセージを見つけるために実行不可能でなければなりません。 警官として、あなたはコードサイズと衝突抵抗の間の最良の妥協点を見つけるハッシュ関数を発明して実装しようとします。あまりにも多くのバイトを使用すると、別の警官があなたを追い出します! 強盗として、あなたは警官の機能をクラックすることで警官の試みを阻止しようとし、それらが不適切であることを証明します。これにより、アルゴリズムを強化するためにより多くのバイトが使用されるようになります! 警官の挑戦 仕事 暗号化ハッシュ関数H:I-> Oを選択して実装します。ここで、Iは2 2 30未満のすべての非負整数のセットであり、Oは2 128未満のすべての非負整数のセットです。 Hは、単一の整数、整数または整数の配列の文字列表現、またはSTDINから読み取り10進数または16進数でSTDOUTに出力する完全なプログラムを受け入れて返す実際の関数として実装できます。 得点 Hそれは抵抗するがあることを強盗は挑戦以下に定義します。 強盗が投稿後最初の168時間以内にあなたの投稿を無効にすると、クラックされたと見なされます。 Hの実装はできるだけ短くする必要があります。最短のクラックされていない提出物が警官チャレンジの勝者になります。 追加のルール Hを関数として実装する場合、上で説明したように動作するプログラム内から関数を実行するラッパーを提供してください。 プログラムまたはラッパーに少なくとも3つのテストベクトルを入力してください(入力例と対応する出力)。 Hは、自分で実装する限り、新しい設計(推奨)または既知のアルゴリズムにすることができます。あらゆる種類の組み込みハッシュ関数、圧縮関数、暗号、PRNGなどを使用することは禁じられています。 ハッシュ関数(たとえば、ベース変換)を実装するために一般的に使用されるすべての組み込みは、公正なゲームです。 プログラムまたは関数の出力は確定的でなければなりません。 x86またはx64プラットフォーム上で、またはWebブラウザー内から実行できる無料の(ビールのように)コンパイラー/インタープリターが必要です。 プログラムまたは関数は合理的に効率的で、2 2 19未満のIのメッセージを1秒未満でハッシュする必要があります。 エッジケースの場合、私のマシン(Intel Core i7-3770、16 GiBのRAM)にかかる(壁の)時間は決定的になります。 この課題の性質を考えると、出力を変更するかどうかにかかわらず、回答のコードを何らかの方法で変更することは禁止されています。 提出物がクラックされている場合(または、クラックされていない場合でも)、追加の回答を投稿できます。 回答が無効な場合(たとえば、I / O仕様に準拠していない場合)、削除してください。 例 Python 2.7、22バイト def H(M): return M%17 ラッパー print H(int(input())) 強盗チャレンジ 仕事 に次のように掲載することにより提出警官のいずれかをクラックスレッド強盗:二つのメッセージMとNでIようにH(M)= H(N)およびM≠N …

18
Jumblers vs Rebuilders:Cotriding with Tetris Bricks
従来のテトリスでは、7つの異なるテトロミノレンガがあり、それぞれがその形状に似た文字で示されています。 # # # # # ## # # ### ## ## # ## ## ## # ## ## I O L J T Z S いくつかの正の整数WおよびHに対して、ソリッドW×H長方形を作成できるこれらのレンガの配置を検討します。たとえば、2つのI、1 L、1 J、2 T、および1 Sを使用すると、7×4の長方形は作られる: IIIITTT LIIIITJ LTTTSSJ LLTSSJJ 同じブリックは、異なる7×4パターンに再配置できます(移動および回転はできますが、反転はできません)。 IJJTLLI IJTTTLI IJSSTLI ISSTTTI ここで、最初の配置の代わりに長方形のコードブロックを使用することを検討してください。たとえばTetris、stdoutに出力されるPython 3のこの7×4ビット: p=print x='Tet' y='ris' p(x+y)# 最初のテトリスの配置によれば、その7つの「レンガ」は... x ' int …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.