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

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

1
人生:創造されたか進化したか?
正方形のGame of Lifeグリッドの状態を考慮して、それが以前の状態から進化したのか、または作成されたにすぎないのかを判断します。つまり、状態が「Garden of Eden」状態であるかどうかを識別します。 入力 1が「生きている」ことを示し、0が「死んでいる」ことを示す状態の正方形のグリッド。必要に応じて、0と1の代わりに2つの識別可能なシンボルを選択できます。 グリッドの辺の長さはゼロではありませんが、任意の自然数1 <= N <= 20です。 入力グリッド外のセルのいずれかまたはすべてがこの世代で生きている可能性があり、それらのいずれかまたはすべてが前の世代で生きている可能性があります。考慮される宇宙は無限であるため、境界条件はありません。入力のエッジは、ユニバースのエッジではありません。具体的には、グリッドはラップしません。 入力は、行で区切られた文字列または単一の文字列の形式です。必要に応じて、グリッドの辺の長さまたは領域を追加入力として(グリッドの前後に)取ることができます。 許容される入力形式: 010,101,010 010101010 010 101 010 3 010101010 出力 次世代の入力状態につながる可能性のある以前の状態(入力グリッドよりも大きい状態を含む)がない場合は「作成済み」。 次世代の入力状態につながる可能性のある少なくとも1つの可能な以前の状態(入力グリッドよりも大きい状態を含む)が存在する場合、「進化した」。 必要に応じて、「作成」と「進化」の代わりに、2つの区別可能な文字列または数字を使用できます。 可能な以前の状態は、入力と区別する必要がないことに注意してください。状態がそれ自体を次世代として持っている場合、それは進化したと見なされるべきです。 テストケース 010 101 010 Evolved 0101110100 0010101001 1011100110 0101111101 1001001111 1111001001 1011111010 0110011101 1001010100 0010111010 Created 作成されたテストケースは、Achim FlammenkampのGame of Lifeページから取得されます。 注意 このチャレンジを書いてくれたtrichoplaxに感謝し、ここから採用しました

6
ピザにしてください
土曜日(UTC)で空腹なので、ピザを一切れ食べたいです。私はあなたに注文をします、そして私は素敵な熱いアスキーアートのピザが欲しいです。挑戦まで? ドライブスルー ドライブスルーがどこであっても、STDIN、関数パラメーター、コマンドライン引数など、どこにでも注文しますが、変数に入れません。(JS関数式は変数に割り当てる必要があります。) オーダー 私の注文には2つの部分があります。最初はから3までのゼロ以外の正の整数6です。これは私のピザのサイズです。たとえば、6トッピングのないサイズのピザは次のようになります。 /=====\ / \ | | | | \ / \=====/ サイズ5: /====\ / \ | | \ / \====/ サイズ4: /===\ | | | | \===/ サイズ 3 /==\ | | \==/ トッピング 私のトッピングは、大文字の文字列になります。可能な値は次のとおりです。 P-ペパロニ S-ソーセージ N-パイネップル J-ハラペーニョ B-バナナペッパー C-baCon あなたはどこかにピザにそれらを合わせる必要があります。サイズ4およびを注文した場合PSPCJ、これは有効な出力です。 /===\ |PSPCJ| | | …

1
2つの時間ディメンションでのプログラミング
この世界にたった1つの時間次元があるのはおかしい事故ですが、そうである必要はありません。2つ以上の時間ディメンションを持つ世界を想像するのは簡単です。これらの世界では、この世界のように、コンピューターを構築してソフトウェアを実行できます。 システム これは、2つの時間ディメンションでBrainf * ckプログラムを実行するためのシステムです。 2つの時間ディメンションはxとyです。各Brainf * ckプログラムは、x半プログラムとy半プログラムで構成されます。たとえば、プログラムは x: +>+ y: [-] 2つのハーフプログラムにはそれぞれ独自のプログラムポインターがありますが、1つのテープポインターを共有します(つまり、両方がテープの同じセルで動作します)。 時間は2次元なので、モーメントのグリッドで構成されます。 x次元に沿って移動すると、xハーフプログラムは1つのタイムステップを実行します。y次元に沿って移動すると、yハーフプログラムは1つのタイムステップを実行します。 したがって、たとえば、テープが[0] 0 0([]テープポインタを表す)として始まり、x / yプログラムが+andであるとしましょう->-。このプログラムの実行は次のようになります。 x y tape x-action y-action 0 0 [ 0] 0 0 + at 0 - at 0 1 0 [ 1] 0 0 (done) - at 0 0 1 [-1] …

13
算術テーブルの整数桁
チャレンジ: 入力に基づいて、次の6つの算術表のいずれかの「整数桁」を出力します。- 加算(+); -減算(-); -乗算(*); -部門(/); -べき乗(^); -モジュロ演算(%)。 ルール: 正確に次のいずれかである算術演算のオペランドのすべての結果:私は「整数の数字」として定義何をすべきか0、1、2、3、4、5、6、7、8、9。この手段は、あなたは除外し、すべての結果10以上のすべての結果-1以下であり、すべての非整数の結果を。 算術結果の計算方法:最初に最上位の数字を使用し、次に左の桁のオペランドを使用します。6つすべての出力で一貫している限り、この逆も可能です(つまり、のy/x代わりにx/y)。(あなたが使用を許可されていないのでy-xとx/y同じ答えインチ)† 0のテストケースによる除算(除算およびモジュロ演算テーブル)については何も出力しません edge-caseについては何も出力しません0^0。 出力: したがって、以下を出力します(テーブル形式は多少柔軟です(以下を参照)。したがって、行はオプションであり、主にテストケースを読みやすくするために追加されます)。 添加: + | 0 1 2 3 4 5 6 7 8 9 ----------------------- 0 | 0 1 2 3 4 5 6 7 8 9 1 | 1 2 3 4 5 6 7 …

8
穴はいくつありますか?
チャレンジ 図形のグラフィカルな入力が与えられたら、その穴の数を決定します。 重複しない この質問は、カウントアイランドの重複としてマークされました。このチャレンジは、カウントアイランドチャレンジとは異なると考えています。なぜなら、このチャレンジでは、国境に接するブロックを排除する方法を理解する必要があるからです。 入力 入力は、複数行の文字列、文字列の配列、または文字配列の配列のいずれかの入力の2D形式として与えられます。これは形状を表します。形状は、エッジで接続された1つのピースのみであることが保証されています。入力方法を指定してください。 出力 出力は、形状にいくつの穴があるかを示す単一の整数です。末尾の改行は許可されますが、他の先頭または末尾の空白は許可されません。つまり、出力は正規表現と一致する必要があります^\d+\n?$。 穴とは何ですか? これらは単一の穴です。 #### # # # # #### #### # # # ## ### ##### # # # # # ##### これらは穴ではありません: ######## ######## # #### # #### # ###### # ######## ### # ### ########## # # ######## # # # …

3
最大のスキトルの楽しみ
スキトルズのバッグが渡されました。さまざまなフレーバーを最大限に活用するには、フレーバー間をローテーションする必要があることは誰もが知っています。 基本: 一度に食べることができるスキトルは1つだけです スキトルズを食べる順序は定期的でなければなりません。 各期間に特定のフレーバーを複数回含めることはできません。 バッグには非常に多くのスキトルズしかありません。バッグに表示されている以上のスキトルの特定の味を食べることはできません。 あなたはできるだけ多くのスキトルズを食べたい(それは常に可能ではないかもしれない) 例: 3つの赤、2つの青、3つの緑のスキトルズから始めてみましょう。 R B G R B G R G Invalid: The last R must be followed by a B, not a G R B G R B G R Valid, but sub-optimal R R R Valid, but sub-optimal R G B R …
17 code-golf 

10
最小限のパディングでサインの変更、ループ、表示
入力: 2つの整数:1つの負、1つの正。 出力: 最初の行の出力は最低から最高です。2行目では、最高値と最低値を削除し、符号を変更しました個々の数字をすべてしました。3行目では、最高値と最低値を再び削除し、すべての個々の数字を再度符号変更しました。など(以下の例では、課題を明確にする必要があります。) 重要:さらに、列内の数字がすべて(右に)揃うようにスペースを追加します。 最小限の配置がこの課題の主要な部分です。つまり、すべての数字を同じ幅にすることはできません。列の幅は、その特定の列の最大の数値幅に基づいています(そして、符号変更の順序は、数値を列ごとに幅をある程度変えることです)。 例えば: Input: -3,6 Output: -3,-2,-1, 0, 1, 2, 3, 4,5,6 // sequence from lowest to highest 2, 1, 0,-1,-2,-3,-4,-5 // -3 and 6 removed; then all signs changed -1, 0, 1, 2, 3, 4 // 2 and -5 removed; then all signs changed again …

11
プライムプライムを再帰的に見つける
再帰的プライムプライムは、次のようなプライムのシーケンスです。 p(1) = 2 p(n) = the p(n-1)th prime 以下は、4番目の再帰的プライムプライムを計算する方法の例です。 p(4) = the p(3)th prime p(3) = the p(2)th prime p(2) = the p(1)th prime p(1) = 2 p(2) = the 2nd prime p(2) = 3 p(3) = the 3rd prime p(3) = 5 p(4) = the 5th prime p(4) …

23
セットで自然数を構成する
この構造は、自然数を表す方法です。 この表現では、0は空のセットとして定義され、他のすべての数値では、nは{0}と{n-1}の結合です。 たとえば、3を構成するには、アルゴリズムに従うことができます。 3 = {ø, 2} = {ø, {ø, 1}} = {ø, {ø, {ø}}} 仕事 ご想像のとおり、タスクは自然数(ゼロを含む)を取り込み、その構造を出力することです。 選択した言語がそのようなオブジェクトをサポートしている場合は、文字列またはセットオブジェクトとして出力できます。 文字列として出力することを選択した場合、中括弧({})でセットを表す必要があります。オプションで、空のセットをとして表すことができますø(そうでない場合は、エントリのないセットである必要があります{})。また、セットのエントリの前後にコンマと空白を追加することもできます。 順序は重要ではありませんが、出力するセットに繰り返し要素がない場合があります(例{ø,ø}) これはコードゴルフですので、目標はバイト数を最小限にすることです テストケース 次に、いくつかの出力例を含むいくつかのテストケースを示します。 0 -> {} 1 -> {{}} 2 -> {{}{{}}} 3 -> {{}{{}{{}}}} 4 -> {{}{{}{{}{{}}}}}

5
ツイストセンテンス
ルール プログラムは、入力として単語の文字列/配列を受け取る必要があります。文字列/配列内の各単語について、単語の前後から交互に文字を取得して単語を再構築します。 12345 678 9-> 15243 687 9。 次に、文字列内で最初に出現した単語と最新の単語を交互に並べ替えます。 15243 687 9-> 15243 9 687 最後に、結果を出力する前に最初に配置されたインデックスにスペース、タブ、および改行を配置することにより、文字列を再構築します。 12345 678 9-> 15243 687 9-> 15243 9 687-> 15243 968 7 出力は入力と同じデータ型でなければなりません。 標準的な抜け穴は禁止されています 例 入力: 速い茶色のキツネが怠laな犬を飛び越えます。 出力: Teh d.ogq kucil yaz bnrwo tehf xoo rvej supm 入力: 速い茶色のキツネ が怠laな犬を飛び越えます。 出力: Teh d.ogq kucil …

9
カーペットの空港
2015年、ポートランド国際空港は象徴的なカーペットの交換を開始しました。古いカーペットをできる限り少ないバイト数で描画するプログラムを作成してほしい。 カーペット: 仕様書 これは、1つのタイルのスケーラブルpdfイメージへのリンクです。出力は、その画像の相対的な寸法と配置と一致する必要があります。 最終画像のすべての色は、指定された画像のすべてのRGB値の15以内でなければなりません。これらは、便宜上、以下にリストされています。 Red Green Blue Teal: 0, 168, 142 Magenta: 168, 108, 185 Orange: 247, 58, 58 Light Blue: 90, 166, 216 Dark Blue: 0, 77, 117 出力は少なくとも150x150ピクセルで、正方形でなければなりません。ベクター画像のようなスケーラブルな形式で出力することを選択した場合、画像を正確に一致させる必要があります。 既存の画像形式で画像を出力できます。 これはコードゴルフなので、コードのバイト数を最小限に抑えることを目指してください。

8
ユークリッドアルゴリズムを視覚化する
ユークリッドアルゴリズムは、2つの正の整数の最大公約数(GCD)を計算するための広く知られているアルゴリズムです。 アルゴリズム この課題のために、アルゴリズムは次のように説明されています。 2つの入力を特定の文字の隣接する行として表示します。 たとえば、の入力は3,4隣接する行で表すことができ000、0000 最初に電源を入れlength(short_line)、別の文字に長い行の文字を言う- 、今それがどのように見える000し、---0 length(short_line)長い行の最初の文字を削除します。 今000、0 2までの手順を繰り返し2と3は、各反復の後に短いと長い行を使用して、同じ長さを持って、例えば 000、0 -00、0 00、0 -0、0 0、0 ここで停止するか、反復を続行して、行の1つを空の行にするかを選択できます。 これらの各ステップは、0.3秒から1.5秒の間隔で区切る必要があります。 チャレンジ 2つの自然数を入力として与え、上記のアルゴリズムの出力とまったく同じように見える出力を作成するプログラムを作成します。以外の空白以外の印刷可能なASCII文字を使用できますが、一貫性が0あり-、2文字のみを使用します。タイミングを含む出力が上記のアルゴリズムで生成されるものとまったく同じであれば、代替アルゴリズムを使用することもできます。 例 これは、24,35GCDが1であるため互いに素であるinputの例です。 これは、16,42GCD 2を持つinputの例です。 ルール これはコードゴルフなので、最短バイトが勝ちます 標準的な抜け穴が適用されます 入力は正の10進整数であると想定できます sed、Retina、///などを使用している場合を除き、その場合は単項を使用できます 明確化 番号を表す線は元の順序のままである必要があります。つまり、最初に表示される「フレーム」の最初と2番目の行は、後続のすべてのフレームでそれぞれ最初と2番目の行である必要があります。 アルゴリズムの終了後、追加の可視エンティティは表示されません。ただし、これは、最後の「フレーム」が他のすべてのフレームと同じ時間だけ表示されていることを確認してから空白にする前に、行を空白にしてもよいことを意味します。

1
ホールデムまたはフォールドエム?
あなたの友人が土壇場でハイステークスポーカーゲームに招待しました。コンピューター科学者として、あなたは自分のスキルを使ってゲームで優位に立つことにしました。あなたの仕事は、2 cards(あなたの手)と0, 3, 4 or 5 cards(配られたカード)を与えられ、あなたが得ることができる最高の手が何であるかを決める必要があります。7枚すべてのカードが引数として与えられた場合、答えはかなり明確です。与えられない場合、問題はより複雑になります。しかし、これはあなたが探している優位性を得るのに十分ではありません。また、残りのカードから可能な限り最高のハンドを計算して、対戦相手が持っているものを理解する必要もあります。 ホールデムリフレッシャー ホールデムについて知らない場合、ゲームの各プレイヤーは、自分の「手」として2枚のカードから始めます。3回の「ターン」の過程で、追加のカードがすべてのプレイヤー間で共有されることが明らかになります。最初のターン、3枚のカードが公開されます。2回目、さらに1回、3回目に最終カードが公開されます。最初に与えられた2枚のカードは手札を表し、後者は連続したターンで与えられた0、3、4、または5枚のカードを表します。 可能な数: [2,3,4,5,6,7,8,9,T(10),J,Q,K,A] 可能なスーツ: [S,C,H,D] フルデッキ: [2S,3S,4S,5S,6S,7S,8S,9S,TS,JS,QS,KS,AS, # Spades. 2C,3C,4C,5C,6C,7C,8C,9C,TC,JC,QC,KC,AC, # Clubs. 2H,3H,4H,5H,6H,7H,8H,9H,TH,JH,QH,KH,AH, # Hearts. 2D,3D,4D,5D,6D,7D,8D,9D,TD,JD,QD,KD,AD] # Diamonds. ハンドランキング: 1:Royal Flush (A-K-Q-J-10, all from the same suit). 2:Straight Flush (Sequential cards, all from the same suit). 3:Four-of-a-Kind (Self explanatory). 4:Full House (3-of-a-kind …

5
直方体のタイプを決定する
前書き: 私はツイスティパズルコレクターです。ここでは、現在の±300パズルのコレクションを見ることができます。 NxNxNキューブである通常のルービックキューブ(3x3x3キューブ)を知っていると思います。また、立方体(ブロック型パズル)もあります。これらはさまざまな形で提供されますが、おそらくここのSuperAntionioVivaldiでよりよく説明できます。 通常のドミノ立方体(2x2x3 ; 2x3x3 ; 3x3x4 ;など)-NxNx(N + O)またはNx(N + O)x(N + O)の形式で、2つの奇数次元と偶数、または2つの偶数と奇数。 Shapeshifter Cuboids(2x2x4 ; 3x3x5; 3x3x9 ; 4x4x6 ;など)-NxNx(N + P)の形式で提供されます。3つの次元はすべて奇数または偶数です。 フロッピー直方体(等1x3x3、2x4x4、など) -これらはの形で来るのNx(N + P)×(N + P)ほぼシェイプシフターと同じであるが、いわゆるフロッピー平価有します。 レンガ立方体(2x3x4 ; 3x4x5 ; 2x3x5;など)-Nx(N + O)x(N + P)の形式で提供されます。これは、通常のDomino Cuboidsが2つの奇数次元と偶数または2つの偶数と奇数。ただし、同じディメンションはありません。 Ultimate Shapeshifters(2x4x6 ; 3x5x7; 2x4x10;など)-Nx (N + O)x(N + …

3
ASCIIタンポポ
ASCIIタンポポは次のとおりです。 \|/ \ / | /|\ | \|/ | | | | _\|/_ | | | /|\ ASCIIタンポポには3つのパラメータがあります。茎の長さ(1〜256の正の数、種の数(0〜7の正の数)、および方向(^またはv)。上記のタンポポは、長さ、種、および方向、 3,5、^)、(3,2、^)、(2,3、^)および(3,7、v)。 種子は、長さ2のタンポポで示されている次の順序(上下逆さまのタンポポで反転)で塗りつぶされます。 seeds: 0 1 2 3 4 5 6 7 | \ / \|/ \ / \|/ _\ /_ _\|/_ | | | | /|\ /|\ /|\ /|\ | | | …

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