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

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

2
三角形グリッド上の位置合わせ
六角形のグリッドは、最近2次元データに関する課題でかなり人気のあるひねりになりました。ただし、これまで同様に興味深い三角形のグリッドはほとんど無視されてきたようです。かなり単純な挑戦でそれを修正したいと思います。 まず、三角形のグリッドをどのように表現しますか?次の例を考えてみてください(今は正しい図を無視してください): セルはきちんと規則的なグリッドに落ちます(規則的なグリッドとの違いは、どのセルが隣接していると見なされるかだけです): 1234567 89abcde fghijkl mnopqrs さて、右の図が示すように、三角形のグリッドには3つの主軸があります。水平軸と2つの対角軸です。 ASCIIグリッドでこれらを強調表示します。 AVAVAVA VAabcAV fVAiAVl mnVAVrs チャレンジ 三角形のグリッド(左上隅が上向きの三角形)を表す長方形の文字列が与えられます。ほとんどのセルはbe .ですが、正確に2つのセルはになります#。例: ....# .#... ..... 2つ#がグリッドの3つの軸のいずれかに沿って配置されているかどうか(つまり、上で強調表示されている3つの方向のいずれかの単一行にあるかどうか)を決定します。この例では、答えは「いいえ」です。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、改行またはその他の便利な文字で区切られた単一の文字列、または文字列のリストです。.およびの代わりに、任意の2つの(一貫した)印刷可能なASCII文字を使用でき#ます。 ハイライトされたセルが整列している場合、出力は真実の値である必要があり、そうでない場合は偽の値である必要があります。 標準のコードゴルフ規則が適用されます。 テストケース 真のグリッド: .#..#. # # ........... ...#....... ........... ........... ........... .......#... ........... ........... .......#... ........... ........... ........... ...#....... ........... .#......... ........... ........... ........... ........... .......#... ........... …

4
成長するクインシーケンス
p1 p2 ... p10以下の特性を満たす10個のプログラムのシーケンスを作成します。 pK印刷pK+1のためのK1から9まで p10 プリント p10 最初のKプログラムが連結されると、結果のプログラムがp1...pK印刷されp1...pKます。 各プログラムpKは、前のプログラムよりもバイトサイズが大きくなければなりませんpK-1。 すべてのプログラムは同じ言語である必要があります。 組み込みのクイニング機能(Q多くの言語など)が許可されています。 スコアは、10個のプログラムのバイトカウントの合計です。プログラムは10個しかないため、コードはできるだけ短くする必要があります。幸運を。

2
Forgotten Realms日付計算機
日付ライブラリが組み込まれている言語と組み込まれていない言語の間で競争の場を平準化するために、架空のカレンダーを使用してみましょう。Forgotten Realmsは、Dungeons&Dragonsの(the?)キャンペーン設定です。もちろん、それぞれに独自のカレンダーがあります。 ハプトスのカレンダー 便利なことに、忘れられた領域の1年も365日です。さらに、カレンダーには12か月もあります。ただし、ここが興味深いところです。毎月の長さはちょうど30日です。残りの5日間は、その月の間にある休日です。順番に月と休日を示します(休日はインデントされています): 1 Deepwinter Midwinter 2 The Claw of Winter 3 The Claw of the Sunsets 4 The Claw of the Storms Greengrass 5 The Melting 6 The Time of Flowers 7 Summertide Midsummer [Shieldmeet] 8 Highsun 9 The Fading Highharvestide 10 Leaffall 11 The Rotting The Feast …

26
ジャグラーシーケンスを出力する
ジャグラー配列は、次のように記載されています。入力a 1で始まり、次の項は再帰関係によって定義されます その後のすべての項は1になるため、シーケンスは1に達すると終了します。 仕事 入力nが2以上の場合、プログラム/関数/ジェネレーターなどを記述します。それぞれのジャグラーシーケンスを出力/返します。出力は、合理的な形式で行うことができます。ジャグラーシーケンスを計算する組み込み関数、または結果を直接生成する組み込み関数を使用することはできません。シーケンスはで終了すると想定できます1。 テストケース Input: output 2: 2, 1 3: 3, 5, 11, 36, 6, 2, 1 4: 4, 2, 1 5: 5, 11, 36, 6, 2, 1 これはコードゴルフです。バイト単位の最短コードが優先されます。

4
シンプルなDNAシミュレーター
あなたのコードは、DNAの非常に単純なASCIIアート表現を永久に生成します。必要な形式の入力として2つの数字を受け取ります。リスト、関数の引数、標準入力などです。 I0.0〜1.0の秒単位の浮動小数点間隔 Z1から64までの整数としてのズームレベル コードはI、1 秒ごとにstdoutまたはそれに相当するものに1行を出力し、次のような無限出力を生成します(ズームレベル4の場合)。 A T-----a G-------c G-----c g t-----A a-------T c-----G T A-----t C-------g ... 具体的には、DNAの我々の表現は、ハイフンで接続された正弦波のペア、文字から成るものであるa、c、g、及びt、文字の他A、C、G、およびT。場合はx私たちが現在印刷している行の0から始まるインデックス番号で、小文字の波の中の文字の0ベースの位置は次式で与えられ(sin(πx / Z) + 1) * Z、そして大文字の波にで与えられ(-sin(πx / Z) + 1) * Z、両方の丸い最寄りに(床のではありません)整数。詳細: 2つの波が重なる場合は、大文字の波から始めて、どちらの波が前面にあるかを交互に切り替える必要があります。(小文字の波から始めると、存在しない二重らせんができます!) 大文字小文字を無視して、実際のDNAのように、Aは常にTとペアになり、Cは常にGとペアになります。ペア自体は、4つの可能性にわたって均一に分布するようにランダムに選択する必要があります。ペアの選択がコードの連続した実行で同じか異なるかは関係ありません。あなたのランダムな選択の統計的品質は長い出力が明らかなパターンと、少なくとも十億にピリオドがないほどの問題ではありません(のような欠陥のPRNG RANDUは罰金ですが。) 後続のスペースがないか、そのズームレベル(上記の例では9文字)ですべての行を波の最大位置までパディングする必要があります。 DNAは小さいため、コードはできるだけ短くする必要があります。 その他の例: ズームレベル8: T C-----g A-----------t C-------------g G---------------c T-------------a T-----------a T-----a c g-----C t-----------A g-------------C a---------------T …

2
ランレングスレーサー
2つの入力が与えられます:ランニングトラックを定義するランレングスエンコード形式の文字列と、開始するレーンを表す大文字。たとえば、文字列「3a4A6b5B」は「aaaAAAAbbbbbbBBBBB」に展開されます。次に、展開された文字列を使用して、次のようなトラックを作成します。 A) aaaAAAA B) bbbbbbBBBBB これは2車線のトラックです。小文字は空気を表します。オンエアはできません!大文字は、あなたが走れる道を表します。このチャレンジの目標は、大文字を与えられて、そのレーンでスタートするレーサーがどこまで走れるかを出力することです。レーサーは、直上または直下に道路がある場合、車線を切り替えることができます。また、逆方向への実行も許可されています!この特定のトラックでは、いずれのトラックも位置1の走行可能な道路がないため、文字入力の出力は0です。 例: 入力:「4A5B4c3C」、「A」 このコードは、次のようなトラックに展開されます。 A) AAAA B) BBBBB C) ccccCCC この例の出力は7です。これは、レーンAで始まるランナーがレーンBに移動し、次にレーンCに移動して、7番目の位置で終わる可能性があるためです。 入力:「4A2B3D」、「D」 追跡: A) AAAA B) BB C) D) DDD 出力は3です。これは、レーンDで始まるランナーがレーンBまたはAに到達する方法がないためです。 入力:「4A4a4A3b6B5C」、「A」 追跡: A) AAAAaaaaAAAA B) bbbBBBBBB C) CCCCC AのランナーはBに切り替えて、最後にAに戻ることができるため、出力は12です。「C」の最大距離も12です。「B」の場合、0です。 入力:「12M4n10N11O」、「M」 追跡: M) MMMMMMMMMMMM N) nnnnNNNNNNNNNN O) OOOOOOOOOOO 複数桁のランレングスを使用した簡単な例。出力は14です。 入力:「4A5B1b2B4c3C」、「A」 追跡: A) AAAA B) BBBBBbBB …

6
キンバリングシーケンス
前書き もちろん、シーケンスには多くの課題があるので、別の課題を示します。 キンバリングシーケンス(A007063)は次のとおりです。 1, 3, 5, 4, 10, 7, 15, 8, 20, 9, 18, 24, 31, 14, 28, 22, ... これは、通常の反復をシャッフルすることにより生成されます。 [1] 2 3 4 5 6 7 8 シーケンスの最初の項は1です。その後、左側のすべての用語が使用されるまでシーケンスをシャッフルします。シャッフルにはパターンがありますright - left - right - left - ...。の左側に用語がないため1、シャッフルはありません。次のものが得られます。 2 [3] 4 5 6 7 8 9 i 番目の反復で、i 番目のアイテムを破棄し、それをシーケンスに入れます。これは2回目の反復なので、2番目の項目は破棄します。シーケンスは次のようになります1, 3。次の反復では、上記のパターンで現在の反復をシャッフルします。i …

1
多角形の辺の数を数える
多角形の辺の数を数える ポリゴンサイドカウントロボットは、誰にも言わずに世界を旅することにしましたが、ポリゴンカウントのプロセスを長時間停止しないことが重要です。したがって、次のタスクがあります。ポリゴンの白黒画像を指定すると、プログラム/関数は辺の数を返す必要があります。 プログラムは古いパンチカードコンピューターに送られ、パンチカードは最近非常に高価なので、プログラムをできるだけ短くすることをお勧めします。 エッジの長さは少なくとも10ピクセルであり、2つの隣接するエッジによって形成される角度は少なくとも10°ですが、170°以下(または190°以上)です。ポリゴンは画像内に完全に含まれており、ポリゴンとその補数が接続されているため(孤立した島はありません)、この入力は無効になります。 得点 これはcodegolfです。つまり、バイト単位の最短のサブミッションが勝ち、サブミッションはすべてのテストケースのエッジの正しい数を見つける必要があります。(また、提出は他のケースでも機能するはずです。それらのテストケースだけの最適化は許可されていません。) 毎回正しい番号を見つけられないソリューションを提出したい場合、それも提出できますが、それはより良いパフォーマンスのすべての提出の後ろにランク付けされます。 提出タイトルに合計数を含めてください。(総誤差は、辺の実際の数と各出力の間の絶対差の合計です)。 テストケース n = 10 n = 36 n = 7 n = 5 これはテストケースではなく、単なる好奇心からです:この入力に対していくつのエッジを取得しますか?

9
ヒルベルトプライムズゴルフ
ヒルベルト番号はフォームの正の整数として定義されている4n + 1ためn >= 0。最初のいくつかのヒルベルト数は次のとおりです。 1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93, 97 ヒルベルト数列は、OEISシーケンスA016813によって与えられます。 関連数列、ヒルベルト素数は、ヒルベルト番号として定義されているH > 1任意のヒルベルト数で割り切れないkように1 < k < H。最初のいくつかのヒルベルト素数は次のとおりです。 5, 9, 13, 17, 21, 29, 33, 37, 41, 49, 53, 57, …

6
椅子を調整する
チャレンジ 新しい椅子を購入しました!問題は、それを制御する方法がわからないため、プログラムを作成してそれを実行する必要があることです。 調整されていない椅子に座っている時間は長くなります。したがって、コードはできるだけ短くする必要があります。 例 5,3,2,2,1 O | | | _ | | |_|_ | | O 3,5,2,3,5 O | _ | | |__|__ | | __|__ OOOOO 2,13,1,1,13 O | _ |______|______ ______|______ OOOOOOOOOOOOO これが飛行機のように見えると思うのは私だけですか? 椅子パーツ 椅子にはさまざまなコンポーネントがあります。 O | | <- Backrest | _ <- Armrest | | |__|__ <- …

2
数学ステートメントの縮小
チャレンジ あなたはCoyote Betaと呼ばれる素晴らしいサービスの所有者です。これは、ユーザーがインターネット経由で送信する数学の質問に魔法のように答えます。 しかし、結局のところ、帯域幅は高価です。「コヨーテベータプロ」を作成するか、これを解決する方法を見つけるかの2つの選択肢があります。つい最近、誰かが質問した(x + 2)。クライアントはを送信できませんでしたがx+2、ユーザーには違いはありませんか? タスク あなたの仕事は、数式を「縮小」することです。入力式が与えられた場合、同じ入力の最小表現が得られるまで、空白と括弧を削除する必要があります。連想操作を囲む括弧は保持する必要はありません。 ここに与えられた唯一の演算子は+、-、*、/、および^標準的な数学結合性と優先順位で、(累乗)。入力で指定される唯一の空白は、実際のスペース文字です。 サンプル入出力 Input | Output ------------|-------------- (2+x) + 3 | 2+x+3 ((4+5))*x | (4+5)*x z^(x+42) | z^(x+42) x - ((y)+2) | x-(y+2) (z - y) - x | z-y-x x^(y^2) | x^y^2 x^2 / z | x^2/z - (x + 5)+3 | …

4
コードのシンボリックネガを印刷する
(これは、コードのネガを印刷のバリエーションです。これはとても楽しかったです。MartinBüttner♦に感謝します-このテキストのほとんどは彼のものです。) シンボルを次の印刷可能なASCII文字と考えてみましょう(スペースが含まれていることに注意してください)。 !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ そして、これらの英数字: 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 次のように、辺の長さNの印刷可能なASCII文字の正方形を考えます。 ONE, {two} &3,+= !four f|ve. また、各行と各列には、少なくとも1つの記号と1つの英数字を含める必要があります。(上記の例はこれを満たします。) そのような正方形のシンボリックネガは、各シンボルが英数字に、またはその逆に置き換えられる同じサイズの正方形であると定義します。たとえば、次は上記の例の有効なシンボリックネガになります。 [&]OK a...b 1/100 i@#$% (R) z 特定の文字の選択は、上記のカテゴリに含まれている限り、無関係です。 チャレンジ あなたの仕事は、辺の長さがN> 1の正方形のソースコードでプログラムを書くことです。これは、そのソースコードのシンボリックネガをSTDOUTに出力します。末尾のスペースは印刷する必要があります。単一の末尾の改行を印刷する場合としない場合があります。 通常のクインルールも適用されるため、直接または間接に独自のソースコードを読み取ってはなりません。同様に、入力された各式の値を自動的に出力するREPL環境を想定してはなりません。 勝者は、最小の辺の長さNのプログラムです。同点の場合、ソースコードのシンボルが最も少ない提出が勝ちます。同点の場合は、最も早い回答が優先されます。

5
jQueryの対決
この事件からしばらくして … あり、いくつかの私たちのjQueryのこの汚すために反対している人は。それは不浄な存在であり、その根絶は必要です。したがって、私はあなたに、改革の新王国に忠実であるあなたに、そのような抵抗を排除するプログラムを作成するよう呼びかけます。すべてのコードを検証し、jQueryのあらゆるトレースを検索する必要があります。そして、もちろん、あなたの提出は短くする必要があります(別の予算削減がありました、そして、残念なことに、それはストレージ部門にありました)。また、文字を定義することはできません。 速度を上げるために、定義する文字は次の文字のいずれかですjJqQuUeErRyY$x0。すでに述べたように、これらの文字の使用は、あなた自身のプログラムであっても厳しく禁止されています。したがって、それらを使用しないでください。また、数字のドル記号でも大丈夫です。したがって、フォームn+(.nn)*$は何でも構いません(まだ使用しないで0ください)。 プログラム/コード/など。入力プログラムを検証する必要があります。デファイリング文字が含まれている場合は、出力する必要がありますThis programmer is guilty of Heresy. He must be burnt.。そのような文字が見つからない場合、を出力する必要がありますProgram validated. Clearance level 2 given.。 ボーナスとペナルティ 私は個人的にキャラクターを称賛し~ます。使用する2つごとに、-1バイトを指定します。(つまり、他のすべて~は無料です。) 除外された文字から正確に1文字を選択できます。ただし、すべての場合にこの文字を使用できます。ただし、最初のペナルティが+ 50%で、その文字のすべてのインスタンスに+5バイトのペナルティがあります。 -90%jquery(ソースコードで(非常に安全にするために)隣接する文字を使用しない場合。これらは(さらに)次のとおりです。iIkKpPsSzZXdDfF 無効な文字列が指定されたときに前述のテキストを出力するときに、すべての無効な文字を-1 *の実行、10未満の実行、および[]それ以上の実行で置き換える場合、-20%。 -50バイトが見つからない場合、JavaScript/iまたはSimplex文字を定義している場合。 参照実装 function validate() { var str = document.getElementById("input").value; var str2 = str.replace(/[jquery0]/gi,"").replace(/x/g,"").replace(/(\d+\.*\d*\d*\$)|\$/g,"$1"); // thanks Doorknob! var val; if (str2 == str) { val …

4
クレイジーライブラリアンの素数の算術シーケンス
司書は、ソートアルゴリズムを使用して、あなたが仕事で不正行為をしているのを見つけたので、今、あなたは罰されています。あなたは、司書が彼らの片思いの愛情の対象である数学教師に印象づけることができるように、いくつかのコードを作成するように命じられました。それが「割り当てられたその他の義務」の意味です... 誰もがNと呼ばれる10進数の自然数列に精通しています: 0、1、2、3、4、5、6、... それから、我々はのは、それを呼びましょう、素数列を生成することができますP内のすべての要素ように、Pはでちょうど二つの約数を持つN、すなわち、1それ自体。このシーケンスは次のとおりです。 2、3、5、7、11、13、... OK、これまではかなり日常的なことです。 気の利いた機能の司書思想F(x、y)の数値をとるxからN状態で0 <= x <= 9、そして数yからN、および挿入xにy全ての位置(すなわち、プリペンド、挿入、又は付加での小数展開xにy)、並べ替えられた新しい数値のセットを返します。 たとえば、F(6、127)は次のようになります 1267、1276、1627、6127 それはまだ退屈です。ビットアップスパイス物事への司書欲求より代わりに新しい機能を指定することはz -> {p : p in P and F(z,p) subset of P}、昇順にソートされました。 たとえば、z(7)は 3、19、97、433、487、541、... ため37と73の両方プライムあり、719 179そして197すべてのプライム、などです z(2)は空であることに注意してください。なぜなら、2追加された素数はまだ素数ではないからです。{0,4,5,6,8}についても同様です。 あなたの仕事は、与えられたxに対してシーケンスz(x)の最初の100個の数字を生成して出力するコードを書くことです。 入力 のような単一の整数x0 <= x <= 9。入力には、関数の引数、STDIN、または同等のものを使用できます。 出力 シーケンスが上記のようにz(x)を満たすように、STDOUTまたは同等の値で区切られた、最初の100個の数字のシーケンス。場合Z(x)は {0,2,4,5,6,8}の場合のように、空である、言葉はEmpty Set代わりに出力されるべきです。 制限事項 これはコードゴルフです。これは、これをインデックスカードに転写して、司書が数学の先生を見せ、手がけいれんするのを簡単にするためです。 標準的な抜け穴の制限が適用されます。司書は不正行為を容認しません。 参照シーケンス x = 1:A069246 x = …

11
プロトスペースインベーダー(ブリットできますか?)
原始宇宙侵略者 これは、タスクが言語ごとに最短のコードを提供することであるグラフィカル出力の課題です。 仕事 コードでは、ユーザーが次のエイリアンを画面/ウィンドウ内で移動できるようにする必要があります。 コードは、ローカルファイルから単純にロードできます。別の標準の画像形式に変換したり、コメントで指摘された画像の小さなピクセルエラーを修正したりすることもできます。 背景は白で、ウィンドウ/画面は少なくとも400ピクセルx 400ピクセルでなければなりません。ご使用の言語がそのサイズのウィンドウ/画面をサポートしていない場合は、200 x 200以上である限りサポートする最大サイズを使用してください。 画面上でエイリアンを移動するには、標準キーボードの矢印キーを使用して、コードで上/下/左/右をサポートする必要があります。 あなたのコードは完全なプログラムでなければなりません。 制限/制約 外国人は国境で停止する必要があります。また、目に見えるちらつきやst音のない均一な速度でスムーズに移動し、少なくとも24fpsで表示される必要があります。画面/ウィンドウの一方の側からもう一方の側に移動するには、2〜5秒かかります。 言語とライブラリ 好きな言語やライブラリを使用できます(このチャレンジ用に設計されたものではありません)。ただし、可能な場合はコードをテストできるようにしたいので、Ubuntuでコードを実行する方法について明確な指示を提供できれば非常にありがたいです。 カタログ この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, <s>104</s> <s>101</s> 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [><>](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 <style>body { text-align: …

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