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

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

9
「便利な回文」チェッカー
これまでに回文コードを記述しようとしたことがあるなら、どれだけの括弧が邪魔になる傾向があるか知っているでしょう。()()、それがあるべきように、それはちょっと見えていても、回文されていない状態())(と()(両方見て非常にダムパリンドロームとの両方です。逆の場合は便利ではないでしょうか? 文字列は、逆の括弧()、括弧()、および中括弧()がすべて反転しているときに導出された文字列と等しい場合、便利な回文です。他のキャラクターは特別ではなく、反転が必要です。(ペアになっていることもありますが、そうではないことが多いため、省略されています。)()[]{}<> あなたの仕事は、あなたの言語で、プログラム(STDINで入力を取得する)または関数(単一の文字列引数を取得する)を書くことです。それ以外の場合、および(b)それ自体は回文的に便利です。 たとえば、次の入力は便利な回文です。 racecar (a)(bb)(a) void main(int argc, *char[] argv) {} (vgra []rahc* ,cgra tni)niam diov そして、以下はそうではありません: non-palindrome A nut for a jar of tuna? (old [style] parens) )snerap ]elyts[ dlo( ingirumimusnocte)etconsumimurigni インタープリター/コンパイラフラグを除き、外部状態(特定のファイル名、ディレクトリ構造、他のユーザー入力、Webアクセスなど)に依存することはできません。 また、使用している言語のコメント機能を利用して、コメントアウトまたは未使用のコードをレンダリングする「コメントトリック」を使用することはできません。たとえば、次のすべては、安全に削除または破棄できる非機能部品が含まれているため、許可されません(便利なパリンドローム性が失われます)。 {some code} // {edoc emos} {some code} NB.BN {edoc emos} "n\" ;{edoc emos} ;"; {some …

8
遅延戦艦の配置
次のシナリオを想像してください。友人と戦艦をプレイしているが、チートすることに決めたとします。彼があなたの船があった場所を撃った後に船を動かすのではなく、あなたは船を全く置かないことに決めます。そのような方法で船を配置することが不可能になるまで、彼のショットはすべてミスだと彼に言います。 フィールドサイズ、船の大きさのリスト、およびショットのリストの3つの引数を取る関数または完全なプログラムを作成する必要があります。 戦場 指定されたパラメーターの1つは、ボードのサイズです。戦場はセルの正方形であり、与えられたパラメーターは正方形の片側にすぎません。 たとえば、次はサイズ5のボードです。 フィールドの座標は、2つのコンポーネントの文字列として指定されます。文字の後に数字が続きます。特定のケースにある文字に依存することができます。 文字は列を指定し、数字はセルの行を指定します(1から始まる)。たとえば、上の図では、強調表示されているセルはで示されてい"D2"ます。 26文字しかないため、フィールドは26x26より大きくすることはできません。 船 船は1ブロック以上の直線です。船の量はリストで指定されます。最初の要素は1セルの船、2セル-2セルの船などです。 たとえば、リスト[4,1,2,0,1]は次のシップセットを作成します。 戦場に置かれると、船は交差したり、互いに触れたりすることさえできません。角さえありません。ただし、フィールドの端に触れることはできます。 以下に、有効な船の配置の例を示します。 特定のシップセットに対して、特定のサイズの空のボード上に常に配置が存在すると想定できます。 出力 そのような船の配置が存在する場合、それらのいずれかを出力する必要があります。 プログラムは、3つのタイプのいずれかのASCII文字の改行で区切られたマトリックスを出力する必要があります。1つは空白セルを示し、1つは出荷ピース、もう1つは「欠落」とマークされたセルです。他の文字は出力されません。 例えば、 ZZ@Z \@@Z @\\Z \Z\\ (この例では、@空のセル、\「欠落」セル、およびZ出荷部品と定義しました) そのような配置が存在しない場合、プログラム/関数は何も出力せずに戻ります。 入力 本格的なプログラムを作成する場合は、リストの入力方法を指定する必要があります。引数を使用するものもあれば、stdinを使用するものもあります。 これはcode-golfであり、最も少ないキャラクターが勝ちます。 ゴルフ以外の最適化されたソリューションの例 は、こちらをご覧ください Compile with -std=c99、最初の引数はボードのサイズ、その他の引数は船のサイズです。ショットの改行で区切られたリストが標準入力に表示されます。例: ./a 4 1 1 1 <<< $'A2\nA4\nB3\nC3\nC4\D4'

30
ASCIIアート「Hello-World!」[終了]
あなたの目標は、「Hello-World!」を出力する最短のプログラムを書くことです。ASCIIアートとして。 ルール: それは人間が読めるものでなければなりません、私はそのサイズ(cols / rows)を気にしません 出力にはスペース( "")、シャープ( "#")、改行のみを含める必要があります 出力は等幅フォントで動作する必要があります(ただし、文字は等幅フォントを使用する必要はありません) 結果では、各文字は少なくとも1つのスペースで互いに分離する必要があります コードに言語とバイト数を含むタイトルを追加してください。

25
HelolW rdlo(スレッド化の課題)
私はあなたのために挑戦しています: 任意の言語を使用して「Hello World」を印刷します。 各文字は、独自の一意のスレッドから印刷する必要があります それでおしまい。明らかに、スレッドが起動した順序で動作するという保証はないため、プログラムをスレッドセーフにして、出力が正しい順序で出力されるようにする必要があります。 そして、これはコードゴルフであるため、最短のプログラムが勝利します。 更新: 勝者は34文字のMarinusのAPLエントリです。また、最も読みにくいエントリで賞を獲得します。
39 code-golf 

13
Advanced Code Golf-小規模なHTTPサーバーを作成する
あなたの課題は、GET要求を受け入れるコードゴルフHTTPサーバーを作成することです。完全に機能する必要はありませんが、ディレクトリからファイルを提供する必要があります。 ルール: HTTPサーバーはTCPポート36895(0x901F)でリッスンする必要があります /var/www* NIXシステム(Linuxなど)またはC:\hgolfWindows からファイルを提供する必要があります。 GETそれ以外のすべての着信HTTPヘッダーを無視できます。 HTTPメソッドがGETでない場合、「405 Not Supported」のステータスコードと「405 Not Supported」の本文を返送する必要があります。 ファイルが存在しない場合、「404 File Not Found」のステータスコードと「404 File Not Found」の本文を返送する必要があります。 ファイルは存在するが、何らかの理由で読み取ることができなかった場合、ステータスコード「500サーバーエラー」と本文「500サーバーエラー」を返送する必要があります。 ユーザーがリクエストする/か、他の既存のディレクトリルート(/foo/ディレクトリfooが存在する場所など/var/www/)がある場合は、空白ページで応答します。 Firefox 8.0およびInternet Explorer 8.0でコンテンツを表示できるようにするには、少なくとも最小限のヘッダーを応答に含める必要があります Content-Typeヘッダーセットで応答する必要がありますが、サポートしているのは拡張機能html => text/htmlとtxt => text/plain。その他のファイル拡張子についてapplication/octet-streamは、コンテンツタイプとして送信します。 コードはASCIIデータとバイナリデータの両方を転送できる必要がありますが、2つを明確に区別する必要はありません。 サードパーティのライブラリを使用することはできません。 HTTPリクエストを処理するために設計された組み込みのクラスや機能を使用することはできません(HttpListenerC#など) 使用したソケットAPIが原因でコードが特定のOSでのみ機能する場合は、これを明記してください。 ソリューションには、ブラウザにHTMLページを提供することを示す画像を含める必要があります。 ご質問がある場合は、お気軽にお問い合わせください!:)
39 code-golf 

20
nを含むn番目の素数を出力します
この質問は、nth個の素数を見つけることのひねりになります。 チャレンジ 1つの入力を受け取りn、n10進表現にnサブトリングとしての10進表現を含むth番目の素数を出力するプログラムを作成する必要があります。 混乱した?下記は用例です。 n=1 Primes: 2, 3, 5, 7, 11 ^1 first prime that contains a 1 Output: 11 n=2 Primes: 2, 3, 5, 7, 11, 13, 17, 19, 23 ^1 ^2 second prime that contains a 2 Output: 23 n=3 Primes: 2, 3, 5, 7, 11, 13, 17, …

8
ルービックキューブのシミュレーション
ルービックキューブには、赤、オレンジ、黄色、白、青、緑の6色があります。赤とオレンジ、黄色と白、青と緑の顔が反対側にあります。 解決されたルービックキューブのネットは次のようになります。 Y BRGO W そして、タイルは次のようになります。 Y Y Y Y Y Y Y Y Y B B B R R R G G G O O O B B B R R R G G G O O O B B B R R R G G G O O …

30
幅広い製品
あなたのタスクは簡単です:与えられた2つの整数aとb、output ∏[a,b]; それは、の範囲の積であるaとb。あなたはかかる場合がありますaし、bそれが機能、リスト入力、STDIN、エトセトラの引数を問わず、あらゆる合理的な形式です。戻り値(関数の場合)やSTDOUTなど、妥当な形式で出力できます。aは常に未満になりbます。 終わりは、排他的または包括的であることに注意してくださいb。私は好き嫌いはありません。^ _ ^ テストケース [a,b) => result [2,5) => 24 [5,10) => 15120 [-4,3) => 0 [0,3) => 0 [-4,0) => 24 [a,b] => result [2,5] => 120 [5,10] => 151200 [-4,3] => 0 [0,3] => 0 [-4,-1] => 24 これはcode-golfであるため、バイト単位の最短プログラムが優先されます。 リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, …
39 code-golf  math 

30
ソースコードを逆にすると、出力が無効になります。
あなたがそれを受け入れたいのであれば、あなたの仕事は、非ゼロの数値を出力するプログラムを書くことです。トリッキーな部分は、ソースコードを逆にする場合、出力は否定された元の整数でなければならないということです。 ルール 完全なプログラムを作成する必要があります。つまり、出力をSTDOUTに出力する必要があります。 両方の数値は10を基数にする必要があります(他の基数または科学表記法で出力することは禁止されています)。 数字の末尾/先頭にスペースを入れて出力できます。 これはコードゴルフなので、各言語で最も短い(元の)コードが優先されます。 デフォルトの抜け穴が適用されます。 例 あなたのソースコードがでABCあり、それに対応する出力がであるとしましょう4。CBA代わりに記述して実行すると、出力はでなければなりません-4。

30
伝説のユグドラシルを出力
あなたの仕事は、伝説的な生命の樹であるYggdrasilの表現を出力することです。 出力がまさにそれであるプログラムを書かなければなりません: /\ /**\ /****\ /******\ /******\ /********\ /**********\ /************\ /**************\ /************\ /**************\ /****************\ /******************\ /********************\ /**********************\ /******************\ /********************\ /**********************\ /************************\ /**************************\ /****************************\ /******************************\ /************************\ /**************************\ /****************************\ /******************************\ /********************************\ /**********************************\ /************************************\ /**************************************\ /******************************\ /********************************\ /**********************************\ /************************************\ /**************************************\ /****************************************\ /******************************************\ /********************************************\ /**********************************************\ /************************************\ /**************************************\ /****************************************\ /******************************************\ /********************************************\ /**********************************************\ /************************************************\ /**************************************************\ /****************************************************\ …

21
XKCDカラーの解読
Randall Munroe(XKCDの著者)は、色に名前を付けるために調査を行いました。主な結果は、954最も一般的なRGBモニターの色の名前のリストです。 :プログラミングを容易にするため、ここではプレーンテキストで一覧ですhttp://xkcd.com/color/rgb.txtが。最初の行はデータではなく、ライセンスが含まれていることに注意してください。 上記のリストから有効な色の名前を入力として受け取り、関連するRGBカラーコードを出力するプログラムまたは関数を記述します。プログラムは、定義された方法で無効な入力を処理する必要はありません。 標準の抜け穴が適用されます。また、事前に定義された(組み込みまたは外部の)カラーコード<->カラーネームマップを使用して回答することはできません。(これにはリンクリストが含まれます。)バイト単位の最短コードが優先されます。ファイルから読み取る場合、ファイルのバイトカウントを含める必要があります。 例: dark peach -> #de7e5d robin's egg blue -> #98eff9 pink/purple -> #ef1de7

13
スパイが多すぎる!
あなたは敵のスパイの大規模なネットワークと戦っています。各スパイには、使用したい偽のIDが少なくとも1つ(場合によっては複数)あることがわかっています。実際に何人のスパイを扱っているのか知りたいのです。 幸いなことに、あなたの反知能エージェントは仕事をしていて、2つの偽のアイデンティティが実際に同じ敵スパイによって実際に制御されていることを把握できる場合があります。 それは言うことです: エージェントは、2つの偽のIDの背後に同じスパイがあることを常に把握しているわけではありませんが、 2つの偽のIDが同じスパイによって制御されているとエージェントから言われた場合、あなたはそれらが正しいと信じます。 エージェントメッセージ エージェントは、どのIDが同じスパイを背後に持っているかを伝える不可解なメッセージを送信します。例: あなたは持っている2つのエージェントと5つの偽のIDをに対処します。 最初のエージェントがメッセージを送信します: Red Red Blue Orange Orange これは、3つのスパイがいると考えることを意味します。 最初の(赤)はID 1と2を制御します 2番目(青)はID 3を制御します 3番目(オレンジ)はID 4と5を制御します 2番目のエージェントがメッセージを送信します。 cat dog dog bird fly これは、4人のスパイがいると考えることを意味します。 最初の1つ(猫)がIDを制御します1 2番目(犬)はID 2と3を制御します 3番目(鳥)はID 4を制御します 4番目(ハエ)は、アイデンティティ5を制御します 表示されるインテルのコンパイル: Identities: id1 id2 id3 id4 id5 Agent 1: |--same-spy--| |--same-spy--| Agent 2: |--same-spy--| Conclusion: |-----same-spy------||--same-spy--| …
38 code-golf 

10
「クールS」を描く
前書き 私たちは皆、クールS(スーパーマンS、ステューシーS、スーパーS、スケーターS、ポインティS、グラフィティSなどとしても知られています)を知っています。あなたが忘れているか、完全に冷静な子供時代を過ごした場合、ここに言われた冷静なSのイメージがあります: n入力としてスケールファクター()を指定すると、ASCIIアートでCool Sが出力されます。1 ≤ N ≤ 201≤n≤201\leq n\leq 20 描き方 Cool SのWikipediaページから: 出力 クールSがn1の場合: ^ / \ / \ / \ | | | | | | \ \ / \ \/ /\ \ / \ \ | | | | | | \ / \ / \ / …

28
Areciboメッセージを出力する
アレシボメッセージは、地球外の知性がそれを受信して​​解読することを期待して、球状星団M13に送信された人類と地球に関する基本情報を伝える1974年の星間電波メッセージです... 数値1,679が選択されたのは、73行23列の長方形に配置される半素数(2つの素数の積)であるためです。23行73列の代替配置では、理解できない文字セットが生成されます(他のすべてのX / Y形式と同様)。 これは、個別の部分を強調するために色が追加されたメッセージです。実際のバイナリ伝送には色情報は含まれていません。 ソース:ウィキペディア あなたの仕事は、画像に示されている正確な23x73配列でAreciboメッセージを出力することです。これらの出力形式はいずれも受け入れられます。 1つの文字に1つの文字を使用し、ゼロに別の文字を使用するテキスト(行の分離に通常のルールを使用) 2つの異なる値の2D配列 2つの異なる色の23x73画像 2つの異なる値を持つ1679項目の連続したストリーム(つまり、上記の形式のいずれかですが、フラット)。 1679ビットの整数。ソリューションでビットとバイトの順序(エンディアン)を示します。 便宜上、コピーアンドペースト可能なバージョンを次に示します(テキスト形式での出力例もあります)。 00000010101010000000000 00101000001010000000100 10001000100010010110010 10101010101010100100100 00000000000000000000000 00000000000011000000000 00000000001101000000000 00000000001101000000000 00000000010101000000000 00000000011111000000000 00000000000000000000000 11000011100011000011000 10000000000000110010000 11010001100011000011010 11111011111011111011111 00000000000000000000000 00010000000000000000010 00000000000000000000000 00001000000000000000001 11111000000000000011111 00000000000000000000000 11000011000011100011000 10000000100000000010000 11010000110001110011010 11111011111011111011111 00000000000000000000000 00010000001100000000010 00000000001100000000000 00001000001100000000001 11111000001100000011111 00000000001100000000000 00100000000100000000100 00010000001100000001000 00001100001100000010000 00000011000100001100000 00000000001100110000000 00000011000100001100000 …

23
プリティプリント多項式
前書き 人間は注目に値する種ですが、ときどき、特にコンピューターについては理解するのが非常に厄介です。特に、一見arbitrary意的なルールで非常に複雑な方法で多項式を書くのが好きなようです。 これらの規則を使用して多項式を正しくフォーマットするために書くことができる最短のプログラムは何ですか? チャレンジ 入力 多項式の係数を表す-1000から1000までの整数のリスト。最後のエントリはx ^ 0(定数)で、2番目の最後はx ^ 1の係数などです。 出力 人間の正しい形式の数学表記でこの多項式を表す文字列。 ルール: 先行係数の符号は、負の場合にのみ表示されます。 Right: -x^2+3 Wrong: +x^2+3 係数が0のコンポーネントは印刷されません(すべての係数が0 *であるコーナーケースを除く)。 Right: x^5-x^2+3 Wrong: x^5+0x^4+0x^3-x^2+0x+3 係数-1と+1は、定数でない限り、1なしで表示されます。 Right: x^5-x^2+1 Wrong: 1x^5-1x^2+1 指数は1より大きい場合にのみ表示され、変数は指数が0より大きい場合にのみ表示されます。 Right: 3x^3-7x^2+2x+1 Wrong: 3x^3-7x^2+2x^1+1x^0 *コーナーケース:通常、値がゼロの場合、そのコンポーネントは印刷されませんが、すべての係数がゼロの場合、定数0が印刷されます。 Right: 0 Wrong: 0x+0 Wrong: (nothing) これはコードゴルフなので、勝者はバイト数が最も少ないプログラムになります。 入力と出力の例 Input: Output: [0] 0 [0,0] 0 [0,-1,35,0] …

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