プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

30
出て投票する
今日は2016年11月8日、アメリカ合衆国の選挙の日です。 あなたが投票する資格のある米国市民である場合、この挑戦に答える前にまだ出ていないなら投票してください。誰に投票したかについて話し合ってはいけません。重要なのはあなたが投票したことだけです。 あなたが米国市民でないか、投票する資格がない場合、この挑戦​​に答える前に、あなたが知っている人に誰が外に出て投票していないかを告げることで米国に賛成してください。 チャレンジ デジタルの「I Voted」ステッカーのように、投票したことを示すプログラムを作成します。 それは、フレーズ合理的な方法には、入力およびマスト出力を取るべきではないI Voted場合I、oおよびe(赤#FF0000)とV、t及びd(青#0000FF)。背景は白(#FFFFFF)でなければなりません。 例えば: これらの色は、もちろんアメリカの国旗を表しています(公式の色ではありません)。赤が最初に来るのは、それが一般的なイディオム「赤白と青」で最初に来るからです。 有効であるためには、答えが以下でなければなりません。 指定された配置で指定された色を使用します。 読みやすい単一のフォントとフォントサイズを使用します。この例では、72pt Times New Roman太字を使用していますが、6ptを超える一般的なフォントはおそらく問題ありません。 2つの単語の間に明確なスペースを入れて、フレーズI Votedを1行に正確に大文字で入力します。のように見えるべきではありませんIVoted。 回答者が大統領またはダウンバロットのレースに誰を投票したか、支持したかを示していない。インターネットの議論を始めないようにしましょう。これは、候補者ではなく投票を祝うことです。 次のように、出力を表示または生成する合理的な方法が有効です。 テキストを画像に描画し、それを表示、保存、または生で出力します。 色の書式設定を使用してコンソールにテキストを書き込む。この場合、必要に応じて純粋な赤と青に近づけることができます。テキストの真後ろの領域のみを白にできるのであれば問題ありません。 WPF / Windowsフォームにテキストを表示します。 テキストを含むHTML / RTF / PDFファイルを出力します。 出力の画像を投稿してください。 バイト単位の最短回答が優先されます。

16
Game of Lifeを通常のグリッド以外に実装する
ConwayのGame of Lifeは(ほぼ)常に通常の正方形グリッドでプレイされますが、そうである必要はありません。 ConwayのGame of Lifeの標準セル隣接ルールを、正方形、三角形、六角形の規則的なタイルではないユークリッド平面の2次元タイルで実装するプログラムを作成します。 具体的には、選択したタイル... 少なくとも2つ(ただし、有限数)の異なる形状のプロトタイプが含まれている必要があります。 異なる形状は、互いの縮尺または回転バージョンであり得る。 穴を残さずに平面全体をタイル化できる必要があります。 それらは、境界が有限の単純なポリゴンでなければなりません。(それらは単純に単純ではないかもしれません。) 正方形、三角形、六角形のグリッドと同形に区別する必要があります。 通常の正方形、三角形、または六角形のグリッドに簡単に沸騰するタイルは許可されません。(他のタイルでも正方形/三角形/六角形を使用できます。) 2つのプロトタイル間の境界には、複数のエッジと頂点が含まれる場合がありますが、連続している必要があります。 タイルは周期的または非周期的かもしれませんが、平面全体をカバーするように拡張された場合、各プロトタイプは無限に何度も現れなければなりません。(したがって、タイルの特定の部分を「ハードコーディング」して、以下の追加のポイントを達成することはできません。) 各プロトタイプは、他のセルに隣接する1つのGame of Lifeセルを表します。 エッジまたは頂点を共有するセルは、隣接セルと見なされます。 複数のエッジまたは頂点を共有するセルは、隣同士で1回だけカウントされます。 セルは隣接できません。 タイリングのインスピレーションリンク: http://en.wikipedia.org/wiki/Tiling_by_regular_polygons http://en.wikipedia.org/wiki/List_of_uniform_tilings http://en.wikipedia.org/wiki/Aperiodic_tiling http://en.wikipedia.org/wiki/Penrose_tiling 出力 あなたのプログラムは、ゲーム内でプレイされているGame of Lifeでのタイルのグラフィック表現を出力する必要があります。もちろん、それをimage / gif / jsfiddle形式で投稿する必要があります。 タイルの端の線を描き、死んだ細胞には明るい色を、生きた細胞には暗い色を使用してください。 得点 提出スコアは、アップ投票の数からダウン投票を引いたものに、タイルで一般的なGame of Lifeパターンを発見するための追加ポイントを加えたものです。 静物 -世代から世代へと変化しないパターンを見つけます。(+2) 周期2〜29の発振器を見つけます(合計5周期まで、または最大+15ポイントまで、周期ごとに+3)。 周期が30以上の発振器を見つけます。(+7) 宇宙船を見つけてください-残骸を残さずに出発地から任意に遠く離れることができるもの。(必ずしも可動オシレーターではないかもしれません。)(+10) 明らかに異なる方法で移動する別の宇宙船を見つけます(最初の宇宙船のミラーバージョンではありません)。たとえば、グライダーとLWSSを参照してください。(+10) 無限の成長のパターンを見つけます。成長が無限であることを証明する必要はありません。実際に確実なパターンの十分な証拠を示してください。(+25) 銃を見つける-宇宙船を永遠に生成するもの(これは無限の成長としてもカウントされます)。(+50) 無限の成長パターンは有限数の生細胞で始まり、他のパターンは常に有界の数の生細胞を含んでいる必要があります(たとえば、宇宙船は時間とともに勝手に大きくなってはいけません)。 非周期的タイルの性質により、これらのパターンの多くはそれらに実装することは不可能であると思われます。そのため、検証可能な非周期的タイルは自動的に+40ポイントを獲得します。非周期的タイルのある場所で機能するパターンは、他の場所で機能する必要はありません。 各ボーナスは1回のみ適用できます。当然、出力を確認して確認する必要があります。最高のスコアが勝ちます。 …

10
イメージのパッチ
一般的な画像編集ソフトウェアには、パッチの外にある情報に基づいて、画像の選択された領域にパッチを当てる機能があります(画像処理で使用される用語は、@mınxomaτが指摘するように修復します)。そして、それが単なるプログラムであることを考えると、かなり良い仕事をします。人間としては、何かが間違っていることを時々見ることができますが、目を絞ったり、ちょっと見たりしただけで、パッチは隙間を非常によく埋めているように見えます。 チャレンジ 画像と画像の矩形領域を指定するマスク(画像、または他の任意の形式)をパッチする必要がある場合、プログラムは指定された領域を残りの部分とブレンドしようとするパッチで塗りつぶそうとします画像。プログラムは、指定された領域内にあった元の画像の情報を使用できません。 パッチは常に少なくとも側面から幅が離れており、画像の上下から高さが離れていると仮定できます。つまり、パッチの最大領域は画像全体の1/9になります。 アルゴリズムの仕組みに関する簡単な説明を追加してください。 投票 投票者は、アルゴリズムのパフォーマンスを判断し、それに応じて投票するよう求められます。 判断方法に関するいくつかの提案:(もう一度、いくつかの基準について@mınxomaτに感謝します。) 目を細めて見ると写真がきれいに見えますか? パッチの場所を正確に知ることができますか? 画像の背景と周囲の領域からの構造とテクスチャはどれくらいうまく継続していますか? 編集領域に含まれる浮遊偽色ピクセルはどれくらいですか? そこに属していないように見える領域に均一に色付けされた塊/ブロックがありますか? 編集された領域には、画像の残りの部分と比較して、大幅な色/コントラストまたは輝度のシフトがありますか? 有効性基準 提出を有効にするには、指定された領域外の出力画像が入力画像と正確に一致する必要があります。 テストケース 左側にソース画像、右側に対応するマスク:

30
Brainfを解釈する***
Brainfuckプログラムを解釈するために、お気に入りの言語で最短のプログラムを作成してください。プログラムはファイルから読み取られます。入力と出力は、標準入力と標準出力です。 セルサイズ:8ビット符号なし。オーバーフローは未定義です。 配列サイズ:30000バイト(丸で囲まれていない) 悪いコマンドは入力の一部ではありません コメントは#で始まり、行末まで続きますコメントはすべてではありません+-.,[]<> EOFシンボルなし 非常に良いテストがここにあります。数値を読み取り、その数値までの素数を出力します。リンクの腐敗を防ぐために、コードのコピーを次に示します。 compute prime numbers to use type the max number then push Alt 1 0 =================================================================== ======================== OUTPUT STRING ============================ =================================================================== >++++++++[<++++++++>-]<++++++++++++++++.[-] >++++++++++[<++++++++++>-]<++++++++++++++.[-] >++++++++++[<++++++++++>-]<+++++.[-] >++++++++++[<++++++++++>-]<+++++++++.[-] >++++++++++[<++++++++++>-]<+.[-] >++++++++++[<++++++++++>-]<+++++++++++++++.[-] >+++++[<+++++>-]<+++++++.[-] >++++++++++[<++++++++++>-]<+++++++++++++++++.[-] >++++++++++[<++++++++++>-]<++++++++++++.[-] >+++++[<+++++>-]<+++++++.[-] >++++++++++[<++++++++++>-]<++++++++++++++++.[-] >++++++++++[<++++++++++>-]<+++++++++++.[-] >+++++++[<+++++++>-]<+++++++++.[-] >+++++[<+++++>-]<+++++++.[-] =================================================================== ======================== INPUT NUMBER ============================ =================================================================== + cont=1 [ …

30
印刷可能な最大数
あなたの目標は、数字を印刷するプログラムを書くことです。数値が大きいほど、より多くのポイントを獲得できます。しかし、注意してください!スコアリング機能では、コードの長さが制限されており、かなりの重みがあります。印刷された数値は、ソリューションに使用したバイト数のキューブで除算されます。 したがって、印刷10000000したコードが100バイト長であるとします。最終スコアはになります10000000 / 100^3 = 10。 この挑戦を少し難しくするために、従うべき他のルールがあります。 コードで数字を使用することはできません(0123456789)。 あなたはできるなど/物理/数学を使用します。定数、しかし、彼らはしている場合にのみ、10未満(あなたが使用することができます例えばパイ〜= 3.14が、あなたが使用することはできませんアボガドロ定数 = 6e23) 再帰は許可されますが、生成された数は有限である必要があります(そのため、無限は解として受け入れられません。プログラムは、時間とメモリの制限なしで正しく終了し、要求された出力を生成する必要があります); 操作*(乗算)、/(除算)、^(電力)、またはそれらを示す他の方法を使用すること2 div 2はできません(たとえば、許可されていません)。 プログラムは、必要に応じて複数の数値を出力できます。最高のものだけが得点にカウントされます。 ただし、文字列を連結することはできます。つまり、隣接する数字のシーケンスはすべて単一の数字と見なされます。 コードはそのまま実行されます。これは、エンドユーザーがコードの行を編集することも、数字やその他のものを入力することもできないことを意味します。 最大コード長は100バイトです。 リーダーボード スティーブンH.、Pyth ≈Fの φ(1,0,0)+7(256 26)/ 1000000 [1] 単に美しいアート、ルビー ≈F φ 121(ω)(126) [1] ピーター・テイラー、GolfScript ≈F ε 0 +ω+ 1(17)/ 1000 [1] RES、GolfScript ≈F ε 0(F ε 0(F ε 0(F ε 0(F …

24
Lab Rat Race:遺伝的アルゴリズムの演習
これは、フォートナイトリーチャレンジ#3です。テーマ:遺伝的アルゴリズム この挑戦はちょっとした実験です。私たちは、遺伝的アルゴリズムを使用して、挑戦的に何ができるかを見たかったのです。すべてが最適であるとは限りませんが、アクセスできるように最善を尽くしました。これがうまくいけば、誰が私たちが将来見るかもしれないことを知っています。おそらく遺伝的なキングオブザヒルですか? 仕様は非常に長いです!仕様をThe Basics(フレームワークでプレイを開始し、回答を送信するために知っておく必要のある最低限)と、The Gory Details-コントローラーに関するすべての詳細を含む完全な仕様に分割しようとしました。自分で書くことができます。 ご質問がある場合は、お気軽にチャットに参加してください! あなたは行動心理学の研究者です。金曜日の夕方、あなたと同僚は楽しい時間を過ごし、実験用のネズミを小さなネズミのレースに使用することにしました。実際、私たちが感情的になりすぎる前に、それらを標本と呼びましょう。 標本用の小さなレーストラックを設定しました。さらに面白くするために、トラック全体にいくつかの壁とトラップとテレポーターを配置しました。今、あなたの標本はまだネズミです...彼らはトラップやテレポーターが何であるかを知りません。彼らが見るのは、色の違うものだけです。彼らはまた、どんな種類の記憶も持っていません-彼らができることは、彼らの現在の環境に基づいて決定を下すことだけです。自然選択は、そうでないものからのtrapを避ける方法を知っている標本を選ぶと思います(この種族はしばらく時間がかかります...)。ゲームを始めよう!† †84,465個の標本がこの課題の作成で被害を受けました。 基礎 これはシングルプレイヤーゲームです(あなたと同僚は人口を混同したくないので、それぞれが独自のレーストラックを構築しました)。レーストラックは、高さ15セル、幅50セルの長方形のグリッドです。左端(ここでx = 0)のランダム(必ずしも別個ではない)セルの15個の標本から始めます。あなたの標本は、任意の細胞である目標到達しようとする必要があり、X≥49と14≤Y≤0を(標本が右にトラックをオーバーシュートがあります)。これが起こるたびに、あなたはポイントを獲得します。また、1ポイントでゲームを開始します。10,000ターン後にポイントを最大化するようにしてください。 複数の標本が同じセルを占有する場合があり、相互作用しません。 各ターンで、各標本は周囲の5x5グリッド(中央にある)を見ます。そのグリッドの各セルにはの色が含ま-1れ15ます。-1境界外のセルを表します。標本が範囲外に移動すると、標本は死にます。他の色については、空のセル、トラップ、壁、テレポーターを表します。しかし、あなたの標本はどの色が何を表しているのか分からず、あなたもそうではありません。ただし、いくつかの制約があります。 8色は空のセルを表します。 4色はテレポーターを表します。テレポーターは、9x9エリア内の特定のセルに標本を送ります。このオフセットは、同じ色のすべてのテレポーターで同じです。 2色が壁を表します。壁に移動することは、じっと立っているのと同じです。 2色はトラップを表します。トラップは、すぐ近くにある9 つのセルの1つが致命的であることを示します(トラップセル自体である必要はありません)。このオフセットは、同じ色のすべてのトラップで同じになります。 さて、その自然選択について...各標本にはゲノムがあり、それは100ビットの数字です。新しい標本は、2つの既存の標本を交配し、ゲノムをわずかに変異させることによって作成されます。標本が成功すればするほど、繁殖の可能性が大きくなります。 ここにあなたのタスクがあります:標本が見る色の5x5グリッドとそのゲノムを入力として受け取る単一の関数を書きます。関数は、標本の移動(Δx、Δy)を返し{-1, 0, 1}ます。ここで、ΔxとΔyはそれぞれの1つです。関数呼び出し間でデータを永続化しないでください。これには、独自の乱数ジェネレーターの使用が含まれます。関数にはシードされたRNGが提供され、必要に応じて自由に使用できます。 提出のスコアは、50のランダムトラック全体のポイント数の幾何平均です。このスコアにはかなりのばらつきがあることがわかりました。したがって、これらのスコアは暫定的なものです。この課題が終了すると、締め切りが発表されます。締め切りの終わりに、100のボードがランダムに選ばれ、すべての提出物がこれらの100のボードで採点されます。推定スコアを回答に自由に入力してください。ただし、だれもチートしないように、すべての提出物にスコアを付けます。 コントローラープログラムは少数の言語で提供されています。現在、Python(2または3)、Ruby、C ++、C#またはJavaで提出物を書くことができます。コントローラーはボードを生成し、ゲームを実行し、遺伝的アルゴリズムのフレームワークを提供します。必要なのは、移動機能を提供することだけです。 待って、それではゲノムを使って正確に何をしますか? 課題はそれを理解することです! 標本には記憶がないため、与えられたターンで得られるのは、あなたにとって何の意味もない5x5の色のグリッドだけです。そのため、目標を達成するにはゲノムを使用する必要があります。一般的な考え方は、ゲノムの一部を使用して色またはグリッドレイアウトに関する情報を保存し、ボットはゲノムに保存されている追加情報に基づいて決定を下すというものです。 もちろん、手動で何かを実際に保存することはできません。したがって、そこに保存される実際の情報は、最初は完全にランダムになります。しかし、遺伝的アルゴリズムは間もなく、ゲノムに正しい情報が含まれる標本を選択し、間違った情報を持つ標本を殺します。目標は、ゲノムビットと視野から移動へのマッピングを見つけることです。これにより、目標へのパスを迅速に見つけ、一貫して勝利戦略に進化することができます。 これは、開始するのに十分な情報である必要があります。必要に応じて、次のセクションをスキップして、下部のコントローラーのリストから選択するコントローラーを選択できます(特定のコントローラーの使用方法に関する情報も含まれています)。 すべてが必要な場合は読んでください... ゴーリーの詳細 この仕様は完全です。すべてのコントローラーはこれらのルールを実装する必要があります。 特に明記しない限り、すべてのランダム性は均一な分布を使用します。 トラック生成: トラックは、X = 53セル幅、Y = 15セル高さの長方形のグリッドです。有する細胞のx≥49は、ある目標セル(ここで、xはゼロベースです)。 各セルは単一の色を有し、またはあってもなくてもよい致死 -以下の細胞型のいずれかで指定されない限り、細胞は致死的ではありません。 からまでラベル付けされた16の異なるセルの色があり、その意味はゲームごとに変わります。さらに、境界外のセルを表します-これらは致命的です。015-1 8つのランダムな色を選択します。これらは空のセルになります(効果はありません)。 さらに4つのランダムな色を選択します。これらはテレポーターです。これらの2つの色について、9x9近傍のゼロ以外のオフセットを選択します((-4、-4)から(0,0)を除く(4,4)まで)。他の2色については、それらのオフセットを反転します。標本がテレポーターに乗ると、そのオフセット分だけすぐに移動します。 さらに2つのランダムな色を選択します。これらはトラップです。これらの各色について、3x3近傍のオフセットを選択します((-1、-1)から(1,1)まで)。トラップは、そのオフセットのセルが致命的であることを示します。注:トラップセル自体は必ずしも致命的ではありません。 残りの2色は壁で、動きを妨げます。壁のセルに移動しようとすると、移動が静止したままになります。壁細胞自体は致命的です。 …

30
私の誕生日です:D
前書き 昨年は私の誕生日でした(本当に!)悲しいことに、私は自分のパーティーを開催しなければなりませんでした。さて、あなたは知っています、少なくともケーキを作ることができませんでしたか? チャレンジ n入力として整数を指定し、ろうそくをつけた誕生日ケーキを出力する完全なプログラムを作成nします。 出力 ろうそくを1本つけたケーキは次のとおりです。 $ | --- ~~~ --- そして、3本のろうそくをつけたケーキは次のとおりです。 $ $ $ | | | ------- ~~~~~~~ ------- あなたはそれからそれを解決できると確信しています ただし、入力の0場合、次を出力する必要があります。 Congratulations on your new baby! :D 未満の入力の場合0、キャンドルのないケーキを出力する必要があります。 --- ~~~ --- STDERRへの出力は許可されません。 末尾の改行とスペースは許可されます。 勝ち バイト単位の最短コードが優先されます。 リーダーボード var QUESTION_ID=57277;OVERRIDE_USER=30525;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"http://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var …

30
善と悪
結果-2014年7月19日 丘の現在の王は、傭兵ユーザーによるFabigler!エントリーを提出し続け、彼を王位からノックオフ! スコアボードを表示するにはここをクリックしてください。 2014年7月19日以前に提出されたプログラムが含まれていました。他のすべての提出物は、将来の試験に含まれます。8月9日頃に新しい結果が投稿されるので、十分な時間が取れます。 私の兄弟であり、サバンナ芸術大学の新卒者であるクリス・レインボルトによるイラスト 前書き 天使と悪魔は戦っており、いつものように、彼らの戦場として地球を使用しています。人間は真ん中で立ち往生しており、味方につけざるを得ません。未知の中立部隊は、負けた側のために一貫して戦う人々に報いる。 ゲーム 各トライアルでは、擬似ランダムにペアリングされ、その後20〜30件の他のサブミッションとシャッフルされます。各トライアルは1000ラウンドで構成されます。各ラウンドでは、入力が渡され、出力を生成することが期待されます。出力が記録され、スコアリングされます。このプロセスは1000回繰り返されます。 入力 各プレイヤーの過去の投票を表す単一の引数を受け取ります。ラウンドはコンマで区切られます。A 0はそのラウンドで悪に味方したプレイヤーを表します。A 1は、Goodの側にいるプレイヤーを表します。トライアル内では、プレーヤーは常に同じ順序になります。独自の投票が含まれますが、明示的には識別されません。例えば: 101,100,100 この例では、3つのラウンドが完了し、3人のプレイヤーが競います。プレイヤー1は常にGoodの味方です。プレイヤー2は常に邪悪な味方です。プレイヤー3は、ラウンド1のGoodからラウンド2および3のEvilに交換しました。それらのプレイヤーの1人はあなたでした。 出力 Javaの提出 goodGoodの側にしたい場合は、文字列を返します。 evilEvilを味方にしたい場合は、文字列を返します。 非Java提出 goodGoodの側にしたい場合は、文字列をstdoutに出力します。 evilEvilを味方にしたい場合は、文字列をstdoutに出力します。 プログラムが他の何かを出力または返す場合、例外をスローする場合、コンパイルしない場合、またはこのマシンで何かを出力するのに1秒以上かかる場合は、失格となります。 得点 スコアはGoogleドキュメントのスプレッドシートに投稿され、現在のすべてのエントリを編集できるようになるとすぐに見やすくなります。心配しないでください-あなたがプログラムを提出し続ける限り、私はトライアルを実行し続けます! ラウンド中に多数派でサイディングする場合、3ポイントを受け取ります。 ラウンド中にマイノリティと一緒にサイディングすると、n-1ポイントを受け取ります。ここで、nは、マイノリティと一緒に過ごした連続回数です。 スコアは5回の試行の中央値になります。各試行は1000ラウンドで構成されています。 成果物 非Java提出 一意のタイトル、プログラム、およびプログラムを実行するWindowsコマンドライン文字列を送信する必要があります。引数がその文字列に追加される可能性があることに注意してください。例えば: python Angel.py これには引数がないことに注意してください。これはラウンド1です!これに備えてください。 python Angel.py 11011,00101,11101,11111,00001,11001,11001 Javaの提出 一意のタイトルと、以下に記述する抽象Humanクラスを拡張するJavaクラスを提出する必要があります。 public abstract class Human { public abstract String takeSides(String history) throws …

7
したがって、明らかに、P = NP [閉じた]
SATは、ブール式を真にできるかどうかを判断する問題です。たとえば、(A)はA = TRUEを設定することでtrueにできますが、(A &&!A)は決してtrueになりません。この問題はNP完全であることが知られています。ブール充足可能性を参照してください。 あなたのタスクは、多項式時間で実行するSAT用のプログラムを作成することですが、すべての場合を解決できるとは限りません。 いくつかの例では、それが実際に多項式ではない理由は、次の理由による可能性があります。 明らかではないが、ランタイムが悪いエッジケースがあります アルゴリズムは、いくつかの予期しないケースで実際に問題を解決できません 実際に使用しているプログラミング言語の一部の機能の実行時間は、予想されるよりも長いです あなたのコードは実際にそれがやっているように見えるものとは全く異なることをします 任意のプログラミング言語(または言語の組み合わせ)を使用できます。アルゴリズムの複雑さの正式な証明を提供する必要はありませんが、少なくとも説明を提供する必要があります。 判断の主な基準は、コードの説得力です。 これは人気のコンテストなので、1週間で最高の評価が得られた回答が勝ちます。

11
WannaCryptのGottaFix?
警告 このチャレンジテストに対する回答は、WannaCrypt / WannaCry攻撃の阻止に役立つパッチの特定のバージョンをテストします。オペレーティングシステムに応じて、異なるパッチが適用される場合があります。自分自身を保護する最善の方法は、PCが完全に最新であることを確認し、添付ファイルとWebリンクを開くときは注意することです。 前書き プログラマーは本質的に善良な人だと思うのが好きです。たとえ一部の人がそれほど優れていなくても、MS17-010パッチで保護されていることを人々に確認してください。 チャレンジ あなたの課題は、MS17-010パッチが現在のオペレーティングシステムにインストールされているかどうかに応じて、真偽値を返す完全なプログラムまたは関数を作成することです。 入出力 入力:入力不要 出力:真偽値または偽値(それぞれの場合に使用されることを示します)。エラー/例外は偽の値と見なすことができます。 ルール コードは、パッチが利用可能な少なくとも1つのWindowsオペレーティングシステムで実行(および正しく出力)する必要がありますが、すべてのオペレーティングシステムで実行する必要はありません(制限を明記してください)。 標準的な抜け穴が適用されます これはcode-golfであるため、バイト数が最小の提出が勝ちです!
109 code-golf 

30
それ自体のより大きなバージョンを作成するプログラム(類似バリアント)
次のソースコードを出力するプログラムを作成します。 元のプログラムよりも大きい(文字単位) 実行時にそれ自体よりも大きい別のプログラムを印刷します(つまり、新しいプログラムもこの課題に対する有効な回答です) これはコードゴルフなので、最短の回答が勝ちです。

7
指数関数的にぬるぬるしたプログラミング:Minecraftのスライムを積み重ねる
スライムは、Minecraftのキューブ型の敵で、殺されると複数の小さなバージョンになります。この課題の目的のために、3色の8×8ピクセル画像としてそれらを描写します: ←真の8×8バージョン。 正確なRGBカラーは次のとおりです。 0, 0, 0 目と口のために 110, 170, 90 中央の濃い緑色用 116, 196, 96 外側の明るい緑色 チャレンジ 正の整数Nを取り込んで、長方形にパックされたNサイズのスライムのイメージを出力するプログラムまたは関数を作成します。左から右に進むと、画像は次のパターンに従う必要があります。 2 (N-1) 8×8スライムのスタック。 2 (N-2) 16×16スライムのスタック。 2 (N-3) 32×32スライムのスタック。 スタックにスライムが1つだけ含まれるようになるまで続きます。 8×8バージョン()よりも大きいスライム画像は、最近傍のアップサンプリング(つまり、すべてのピクセルを2倍にする)によって生成されます。ここで与えられた正確なスライムのデザインと色を使用する必要があることに注意してください。 最終画像には2 N -1個のスライムが含まれ、幅は2 (N + 3) -8ピクセル、高さは2 (N + 2)ピクセルになります。 画像は、一般的な画像ファイル形式で出力したり、ファイルに保存したり、生データストリームとして印刷/返送したり、実行時に直接表示したりできます。 バイト単位の最短コードが優先されます。 例 プログラムはこれらの正確な結果を生成するはずです。 N = 1: N = 2: N = …


30
アイスランドの国旗を描く
今年のUEFA Euro 2016は終了し、いくつかの否定的な見出しに加えて、アイスランドのサッカー代表チームという非常に前向きな驚きもありました。国旗を描きましょう。 入力 まあ、明らかに、この課題には入力がありません。 出力 アイスランドの旗を、少なくとも100 x 72ピクセルまたは25 x 18文字の適切な視覚形式で描きます。 出力をファイルに保存するか、すぐに表示します。例の形式は、png、jpgなどの画像、ベクターグラフィックス、HTMLキャンバスに描画、または視覚化に空白以外の文字を使用します。 これらの色を使用してください:青:#0048e0、白:#ffffffおよび赤:#d72828。 言語が特定の色の値をサポートしていない場合は、ANSIカラーコードの赤、青、白の標準値を使用してください。 次の図に示すように、正しい比率でフラグを描画します。 ボイラープレート プログラムまたは関数を作成できます。無名関数の場合は、呼び出す方法の例を含めてください。 これはコードゴルフなので、バイト単位の最短回答が勝ちです。 標準の抜け穴は許可されていません。 リーダーボード コードスニペットを表示 var QUESTION_ID = 85141; // Obtain this from the url // It will be like https://XYZ.stackexchange.com/questions/QUESTION_ID/... on any question page var ANSWER_FILTER = "!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe"; var COMMENT_FILTER = "!)Q2B_A2kjfAiU78X(md6BoYk"; var …

30
チューリング完全性のための最少(明確な)文字
概要: どんな言語でも、あなたの言語がチューリング完全であるための一意の文字の最小量は何ですか? チャレンジ: 任意の言語で、言語をチューリング完全にすることができる最小の文字のサブセットを見つけます。キャラクターのセットを何度でも再利用できます。 例: JavaScript:+!()[](http://www.jsfuck.com) Brainfuck:(+<>[]ラッピングセルサイズを想定) Python 2:(()+1cehrxなどのスクリプトから作成exec(chr(1+1+1)+chr(1))) 得点: このチャレンジは、バイトではなく文字でスコアリングされます。たとえば、例のスコアは6、5、および9です。 ノート: この課題は、あなたの言語だけがチューリング完全であるという意味で他と異なります(必ずしも言語のすべての機能を使用できるわけではありません)。 可能ですが、使用するキャラクターを減らすことなく回答を投稿しないでください。例:8文字のBrainfuck(他のすべての文字はデフォルトでコメントであるため) サブセットがチューリング完全である理由について、少なくとも簡単な説明を提供する必要があります。

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