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

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

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 | \ / \|/ \ / \|/ _\ /_ _\|/_ | | | | /|\ /|\ /|\ /|\ | | | …

12
このシーケンスはグラフィックですか?
グラフィック・シーケンスはそれぞれのノードに対してエッジの数を表す正の整数のシーケンスである単純なグラフ。たとえば、シーケンス2 1 1は、2つのエッジと1つの接続を持つ2つの3つのノードを持つグラフを示します。 すべてのシーケンスがグラフィックシーケンスであるとは限りません。たとえば、2 12つのノードを接続してその一方に2つのエッジを持たせる方法がないため、グラフィックシーケンスではありません。 仕事 合理的な方法で整数のシーケンスを取得します。これには、整数の配列とそのサイズ、符号なし整数のリンクリスト、および倍精度ベクトルが含まれますが、これらに限定されません。入力にゼロがないと仮定できます。また、入力が最小から最大または最大から最小にソートされていると想定することもできます。 シーケンスがグラフィックシーケンスであるかどうかを出力する必要があります。それ以外の場合、偽の値である場合は、真の値。 ゴール これはコードゴルフです。目標はプログラムのバイト数を最小限にすることです テストケース 大きい順に並べ替え -> True 3 3 3 2 2 2 1 1 1 -> True 3 3 2 2 1 1 -> True 3 3 2 -> False 8 1 1 1 1 1 1 1 1 -> True 1 …

5
クォートセーフクイン
あなたのタスクは簡単です。入力も出力もしない(または返す)ソースコードを取得するプログラム(または関数)を作成します。キャッチは、プログラムが"quotes"(Unicode文字34)でラップされている場合、(引用符で囲まれた)ソースコードを再度出力する必要があることです。 クインの標準ルールが適用されます。これはcode-golfなので、最短のプログラム(バイト単位)が勝ちます。

4
2017年はもうすぐ!
チャレンジ 課題は簡単です。 入力を行わず、次のメッセージを出力します。 _ __ __ | | | | | |_ |__| | | 2016年12月31日のUTC午前0時前後の時間数に等しい回数。 例 たとえば、19:01 UTC dec 31stの場合、出力する必要があります。 _ __ __ | | | | | |_ |__| | | _ __ __ | | | | | |_ |__| | | _ __ __ | | …

11
逆Pi関数
Pi関数は、実数(または複素数)の階乗の拡張です。整数nの場合、Π(n)= n!、しかし実数の定義を得るには、積分を使用して定義します: この課題では、Π関数を反転します。 実数を考えるとZ≥1 、正見つけます XはそのようなことをΠ(x)= Z。回答は、少なくとも5桁の10進数で正確でなければなりません。 例: 120 -> 5.0000 10 -> 3.39008 3.14 -> 2.44815 2017 -> 6.53847 1.5 -> 1.66277
17 code-golf  math 

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