タグ付けされた質問 「code-golf」

コードゴルフは、ソースコードの最小バイトで特定の問題を解決するための競争です。

17
HQ9 +インタープリターの作成
このゴルフの目的は、プログラミング言語HQ9 +のインタープリターを作成すること です。このプログラミング言語には4つのコマンドがあります。 H-「Hello、world!」を印刷します Q-プログラムのソースコードを出力します 9-曲「99本のビール」の歌詞を印刷します + -アキュムレータをインクリメントします ルール: アキュムレーターが定義されていないため、コマンド+ プログラムは入力を要求する必要があります(この入力はソースコードになります)。または、ソースコードがファイルから読み取られます。 「99本のビール」の歌詞をファイルに入れたり、ファイルからテキストを読んだりすることはできません。 GZipやBZipなどの圧縮アルゴリズムを使用して曲のテキストを圧縮することはできません。独自の圧縮アルゴリズムを作成する必要があります。これは複雑なアルゴリズムである必要はありませんが、可能な限りテキストを圧縮してみてください(覚えておいてください:これはコードゴルフで、バイト数が最も少ないコードが勝ちます) ソースコードにH、Q、9または+以外の文字が含まれている場合、コマンドを実行する前に「ソースコードに無効な文字が含まれています」と出力してください。これは、ソースコードがH1たとえば、出力Hello, world!する前に出力しないことを意味しますSource code contains invalid characters。いいえ、すぐに出力しますSource code contains invalid characters インタープリターが大文字と小文字の両方を受け入れる場合、文字数は-8になります がんばろう!

30
ロッカーとクラッカー:5要素シーケンス
チャレンジ 単純な「スパイ対スパイ」チャレンジ。 次の仕様でプログラムを作成します。 プログラムは任意の言語で記述できますが、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 …

30
番号を逆にする最短の方法
関数(または同等のサブプログラム)を作成して、単一の整数値の引数を受け入れ、引数の10進数の順序を逆にして見つかった(同様に型指定された)値を返します。 たとえば、76543が34567を返す場合
31 code-golf  number 

30
数値が13で割り切れるかどうかを判断します(13自体を使用せずに)[終了]
あなたの挑戦は、あなたがそれを受け入れることを選択した場合、与えられた数が13で割り切れる場合に「はい」を出力し、そうでない場合に「いいえ」を出力する関数またはプログラムを作成することです。 ルール: -番号13はどこでも使用できません。 -13のいずれかの警戒同義語はありません(15-2を使用するなど)。 -モジュラスを使用しない場合はボーナスポイント、除算を使用しない場合は追加のボーナスポイントが付与されます。 スコアリング: -スコアは、コードのバイト数(空白は含まれません)にボーナスを掛けたものになります。 -モジュラスを使用しなかった場合、そのボーナスは0.90です。除算を使用しなかった場合、そのボーナスは0.90です。 -どちらも使用しなかった場合、そのボーナスは0.80です。 -スコアが低いほど良い。 入力は常に0より大きく2 ^ 32より小さい整数です。 出力は、単純な「はい」または「いいえ」でなければなりません。 明確化: -使用のために数13を生成する何らかのラウンドアバウト方式を使用することは許容されます。(10 + 3)のような単純な算術同義語は使用できません。 - 指定された数値が13で割り切れる場合、関数またはプログラムは文字通り「yes」または「no」を出力する必要があります。- いつものように、賢明な解決策が推奨されますが、必須ではありません。

3
酔ったタイピスト
バックグラウンド タイピストは、いくつかの飲み物を持ち帰り、輸入業者の手紙をまだ読む必要があることに気付きます。彼がテキストを正確に吟味するために、彼はテキスト文字bh vjaracter t0を書きます。ただし、キーの一部をt0ミスで管理します。 Youtタスクは、彼のttpingをシミュレートするコースを書くことです。ミスの発生を最小限に抑えるため、コードはposw9bleと同じくらい短くする必要があります。 キーボード キーボードは標準のANSIキーボードです。下の画像では、赤いテキストがキーの幅を示しています。すべての行の高さは1単位で、マークされていないキーの幅は1単位です。 キーは次のアクションを実行します(混乱を防ぐためだけにリストされています)。 Shiftはそれ自体では何もしませんが、通常のキーの直前に押すと、結果が変わります。 CapsLockキーは、キャップロックを切り替えます。Caps Lockがオンの場合、文字キーは逆大文字の文字を出力します。 Backspaceは、最後に出力された文字があれば削除します。 Tab、Return、およびSpaceは、それぞれタブ文字、改行、およびスペースを挿入します。 Ctrl、Altはプレゼンテーション用です。彼らは(そしてキーボードを完全になくして)何もしません。 すべての文字キーは、マークされた小文字を生成します。場合はShiftキーがちょうど彼らの前に押されて、彼らは大文字を作り出します。Caps Lockはケースを逆にします。 他のすべてのキーは、中央にマークされた文字を生成します。場合はShiftキーがちょうど彼らの前に押されて、彼らはトップにマークされた文字を作り出します。 タイピング 文字を生成するために、タイピストはキーボードでその文字を見つけ、Shiftキーを押す必要があるかどうかを確認します。その場合、彼は最初にShiftキーを押したままにします。その後、彼はすぐにターゲットキーを押して、Shiftキーを離します。彼は、ターゲットキーを押しようとした後、厳密にシフトキーを離します。 しかし、酔っぱらいのために、彼はしばしばキーを逃します。これは、ランダムな角度を(均一に)選択し、プレス位置をその方向に(適切な分布で)ランダムな量だけ移動し、着地したキーを押すことでシミュレートされます。 チャレンジ 入力として、書き込むテキストと、dレベルを示す数値パラメーターを受け取ります。酔ったタイピストが入力したテキストを出力し、上記のアルゴリズムでタイプミスを生成します。 仕様書 入力テキストには、印刷可能なASCII、タブ、改行のみが含まれます。 入力パラメーターは、ある種のスカラー数値です。その範囲は回答で指定できますが、値を大きくすると平均ミス距離が長くなり、逆も同様です。 キーボードを任意の内部サイズに拡大縮小できます。上記の単位サイズは単なる例です。 使用する座標は、キーの高さの1000分の1まで正確でなければなりません。 プログラムは、呼び出しごとに異なる結果を生成する必要があります。(のようなものsrand(time(NULL));、つまり毎秒変化するもので十分です。) ミス距離の分布は、正規分布または同様に機能する他の分布にすることができます(小さな値の確率が大きく、値が大きいほど急速に減少します。たとえば、負の指数は問題ありません)。 タイピストの指は一点です。その半径について考える必要はありません。 タイピストは、それが端にない限り、キー内のどこにでも向けることができます。中心、定位置などが有効です。 Shiftキーの選択方法は何でもかまいません。常に選択できますが、Shiftキーを押し忘れた場合は、両方のShiftキーを使用する必要があります。 Shiftキーは、キーが保持されている場合にのみ影響します(つまり、Shiftキーを押すと、別のキーの前に試行されて成功します)。Shiftキーを押しても「通常」キーを押しても何も起こりません。 Shiftキーは実際のキーの直前に押されてすぐに離されるため、間違ったキーが押されても文字の繰り返しは発生しません。 I / Oの例 以下のすべての例は、距離に正規分布を使用し、常に左のShiftを選択する参照ソリューションからのものです。タブはSEによってスペースとして表示されますが、実際の出力に表示されるはずです。 入力: Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed posuere interdum …

30
指定された2つのインデックスを交換します
正の整数の配列と2つの異なる有効なインデックスを指定すると、2つのインデックスに対応する2つの要素が入れ替わった配列を返します。 0インデックス付けまたは1インデックス付けを選択できますが、以下のテストケースは0インデックス付けされます。 array m n output [1,2,3,4] 0 1 [2,1,3,4] [5,8,9] 0 2 [9,8,5] [11,13,15,3] 1 2 [11,15,13,3] [11,13,15,3] 2 1 [11,15,13,3] [11,15,15,3] 2 1 [11,15,15,3] これはcode-golfです。バイト単位の最短回答が優先されます。標準の抜け穴が適用されます。

30
先行ゼロと後続ゼロを削除します
次のような非負の整数のみを含む空でないリスト/配列がある場合: [0, 0, 0, 8, 1, 4, 3, 5, 6, 4, 1, 2, 0, 0, 0, 0] 末尾のゼロと先頭のゼロを削除してリストを出力します。 この出力は次のようになります。 [8, 1, 4, 3, 5, 6, 4, 1, 2] 他のいくつかのテストケース: [0, 4, 1, 2, 0, 1, 2, 4, 0] > [4, 1, 2, 0, 1, 2, 4] [0, 0, 0, 0, …

14
クインの猫2匹
チャレンジ 2つのプログラム、AとBを作成します。どちらも同じ言語のcatプログラムです。連結された場合、AB(同じ言語でも)はクインである必要があります。 たとえば、とが両方とも言語XYZのcatプログラムであるhelloとしworldます。helloworldが上記の言語の馬である場合、ソリューションは有効です。 猫やキンになじみのない人にとっては、猫のプログラムはstdinを介して与えられたものを正確に出力するものであり、キネは独自のソースコードを出力するプログラムです。 スコアリングとルール 連結されたABプログラムの合計バイト数がスコアです。これはコードゴルフであるため、最低スコアが勝ちます。 標準的な抜け穴は禁止されています 入力はstdinから取得し、出力はstdoutに送信する必要があります。 catプログラムは引数を取る必要はありません。標準入力を標準出力にコピーするだけです。 クインは、プログラムに入力が与えられていないときに機能するはずですが、他の入力に対して正しく機能する必要はありません(可能性はあります)。 クインは、ソースコードを一度だけ正確に出力する限り、終了する必要はありません。 クインは少なくとも1バイトの長さが必要です。 AとBは同じプログラムにすることができます。 BAは、クインまたは有効なプログラムである必要はありません。
30 code-golf  quine 

4
人生はカラフルになることができます!
生きているようなセルオートマトンの各セルは、生きているか死んでいるだけであるため、それを表すのに1ビットしか必要ありません。つまり、2色しかありません。かなり退屈。 通常の画像のピクセルあたりのビット数は24です(RGBごとに8ビット)。これは、セルとしてピクセルを持つ通常の画像では、24のリアルなゲームを一度にシミュレートできることを意味します! チャレンジ あなたの仕事は、実物のようなセルオートマトンの1世代のルールを24ビット深度画像(お好みのよく知られている形式)に適用し、結果の画像を出力するプログラムを書くことです。 24の各レイヤーは、厳密に独自のレイヤー内で、同じリアルなルールセットを使用します。24層は相互に作用しません。 また ゼロは死んだ細胞であり、ゼロは生細胞です。 境界条件は周期的です(トーラスを形成します)。 すべての画像サイズが機能するはずです。 入出力 プログラムは、stdinまたはコマンドライン(または言語に最も近いもの)を介して3つの引数を取る必要があります。 入力画像ファイルの名前。 新しいセルがいつ生まれるかを示す昇順の0〜8の数字の文字列: 桁の場合はdが文字列である彼らが持っているときに死んだ細胞が生きてくるD生活隣人を。 例:3通常の生活 -正確に3つの生きている隣人の死んだ細胞が生き返ります。 既存のセルがいつ生き残るかを示す、昇順の0から8までの数字のストリング: 桁の場合はdが文字列である、その後で生きた細胞D生きている隣人はそうでない場合、彼らは死ぬ、次世代に生き残ります。 例:23通常の生活-正確に2つまたは3つの隣接セルを持つセルのみが次のラウンドまで生き残ります。 ムーア近傍が常に使用されることに注意してください。実物のようなオートマトンと多くの興味深いルールセットを正確に定義するものの詳細については、こちらまたはこちらをお読みください。 1世代以降の出力イメージは、表示するかout.png、bmpまたは(または何でも)として保存する必要があります。 提出 バイト単位の最短コードが優先されます。 いくつかの重要なルールセットに対して、少なくとも1つのテストイメージとその3つの後続の世代を含める必要があります。これ以上良いものが思いつかない場合は、アバターと通常のライフルールを使用してください。 必要に応じて、緑色の128層に唯一の生きているビットがあるこのGosper Glider Gunを使用できます(通常の生活でのみ動作するはずです)。 興味深いシーケンスやアニメーションを投稿することを強くお勧めします。

7
ハウディ!私はコードゴルフの保安官です!
数か月前にTwitterを使った人なら誰でも、「ハウディ!私はX "ミームの保安官です。保安官のシンプルなイメージが絵文字で描かれ、テーマに合わせて変化します。だから、コードゴルフの保安官の時間だと思いました。 ### ##### ### ### ### # ##### # # # # # # # # # # ### # # # # # # # # 特にこれには、幅が1文字、高さが1文字の「ピクセル」があります。彼を生成するには、引数は1と1になります。 彼が背が高いよりも広くなるとどうなりますか? ###### ########## ###### ###### ###### ## ########## ## ## ## ## ## ## ## ## ## ## ###### ## ## …

8
マージソートの視覚化
マージソートは、指定されたリストを半分に分割し、両方の小さなリストを再帰的にソートし、それらを1つのソート済みリストにマージして戻すソートアルゴリズムです。再帰の基本ケースはシングルトンリストに到達しているため、さらに分割することはできませんが、定義ごとに既にソートされています。 リスト上のアルゴリズムの実行は[1,7,6,3,3,2,5]、次の方法で視覚化できます。 [1,7,6,3,3,2,5] / \ split [1,7,6,3] [3,2,5] / \ / \ split [1,7] [6,3] [3,2] [5] / \ / \ / \ | split [1] [7] [6] [3] [3] [2] [5] \ / \ / \ / | merge [1,7] [3,6] [2,3] [5] \ / \ / merge [1,3,6,7] …

6
Piの素数を見つける
プライムはどこにでもあります... 彼らはPiの中に隠れます 3.141592653 58979 3238 462643 3832 795028841 971693993751 それらの素数を取得しましょう! チャレンジ 入力としてintegerが与えられるとn>0、の最初のn桁の内側に隠されている素数を見つけますPi 例 以下のためにn=3我々は素数を検索しなければなりません[3,1,4]。プライムは2つある(3,31)ため、コードは2 For を出力する必要n=10が[3,1,4,1,5,9,2,6,5,3]あります。最初の10桁は出力され、隠されていた(そして見つかった!)12ため、コードが出力[2, 3, 5, 31, 41, 53, 59, 653, 4159, 14159, 314159, 1592653]されます。 テストケース 入力->出力 1->1 3->2 13->14 22->28 42->60 50->93 150->197 250->363 500->895 ルール あなたのコードが可能でなければならないため、少なくともすべての素数を見つけるn=50 あなたがすることができ、はい、最初の50桁ハードコーディングのPi場合のように エントリは答えをハードコーディングを無効です これはコードゴルフです。バイト単位での最短の回答が勝ちです!
30 code-golf  math  primes  pi 

14
TeXを生成してSierpinski Triangle Fractalをタイプセットする
チャレンジ 5レベルのSierpinski Triangle FractalをタイプセットするTeX(LaTeX)数学方程式コード(以下に示す)を出力するコードを記述します。最短コードが勝ちます。 詳細 TeX(およびLaTeXなどの友人)は、洗練された組版システムです。数式のネストされた任意の複雑な式をレンダリングできます。偶然にも、この「ネストされた複合体」はフラクタルを説明しています。以下はMathJaXでレンダリングされます バツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツバツ{{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}^{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}_{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}} ネストされた上付き文字と下付き文字で構成される次のプレーンテキストの数学方程式コードによって: {{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}^{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}_{{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}^{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}_{{{x^x_x}^{x^x_x}_{x^x_x}}^{{x^x_x}^{x^x_x}_{x^x_x}}_{{x^x_x}^{x^x_x}_{x^x_x}}}}} これは5レベルのネストにすぎないことに注意してください。あなたは生成する必要はありません$...$か、$$...$$または他のマークアップは、例えば、あなたは多くのオンラインエディタで生成されたTeXをプレビューすることができます/起動のTeX&カンパニーにおける数学の方程式を終了するために必要な: http://www.hostmath.comしかし、あなたは多くを見つけることができます他も。この質問は友達との議論に触発されました。 更新 同様の質問がありますが、それははるかに一般的であり、異なるソリューションを生成します。あるシステム(TeX)では完全に明示的で、別のシステムでは圧縮されている非常に固定された単純なコードのkolmogorov-complexityを本当に見たかったのです。これnは、5レベルではなくコメントにも対応しています。

15
ABAA / ABBB:この再帰的な2Dパターンを生成
次の興味深い再帰パターンに出くわしたとき、無限抵抗ネットワーク(長い話)をいじっていました。 |-|| |--- このパターンの各インスタンスは、高さの2倍の幅です。パターンのあるレベルから次のレベルに進むには、この長方形を2つのサブブロックに分割します(それぞれがNxNの正方形です)。 AB = |-|| |--- so A = |- |- and B = || -- これらの半分は、次のパターンに従って複製および再配置されます。 ABAA ABBB giving |-|||-|- |---|-|- |-|||||| |------- チャレンジ 数値を指定して、この再帰的設計のth番目の反復をN出力するプログラム/関数を作成しNます。これはゴルフです。 I / O形式は比較的緩やかです。単一の文字列、文字列のリスト、文字の2D配列などを返すことができます。任意の末尾の空白を使用できます。0または1のインデックスを使用することもできます。 例 パターンの最初のいくつかの反復は次のとおりです。 N = 0 |- N = 1 |-|| |--- N = 2 |-|||-|- |---|-|- |-|||||| |------- N …

30
N×Nチェス盤にいくつのワジールを配置できますか?
Wazirという名前の新しい妖精のチェスの駒がチェスに導入されたとします。ワジラーは、位置(x、y)から次の位置に移動できます: (x +1、y) (x、y +1) (x -1、y) (x、y -1) つまり、彼らはルークのように直角に動きますが、王のように一度に1歩だけです。N×Nチェス盤にこのようなワジールをいくつ配置して、2人のワジールが互いに攻撃できないようにすることができますか? 1×1ボードでは、このようなピースは1つしかありません。 2×2ボードでは、このようなピースが2つあります。 3×3ボードでは、このようなピースが5つあります。 Nを指定すると、N×Nチェス盤に配置できるワジラーの数を返します。 これは、OEISシーケンスA000982です。 より多くのテストケース 7 → 25 8 → 32 100 → 5000

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