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

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

30
有効なコードを使用して格言を書く[終了]
最大4行のコードで格言を書くことができますか? コードは可能な限り平易な英語の格言として読み、ブール値を返す必要がありtrueます。 言語:選択。 承認された回答の基準:180 日から30日以内のほとんどの票。(8 番目の 2014年7月の) 独創性:古い格言である可能性がありますが、創造的なものはより高く評価されます。

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

20
愛の計算
子供の頃、妹は私がこの小さな愛の計算を見せて、あなたがあなたのクラッシュとの成功した関係を得る可能性をどれだけ持っているかを見ました。必要なのは、2つの名前と1枚の紙です。 ジョン ジェーン 次に、これらの名前をLovesという単語で区切ります。これを1行または新しい行に記述できます。 ジョン は ジェーンを愛している その後、計算が開始されます。文字が左から右に何回出現するかをカウントすることから始め、上から下にも新しい行を使用する場合。各キャラクターは1回カウントされます。したがって、ジョンのJをカウントした後、ジェーンから始めるときに再度カウントする必要はありません。この例の結果は次のようになります。 J:2([J] ohn | [J] ane) O:2(J [o] hn | L [o] ves) H:1(Jo [h] n) N:2(Joh [n] | Ja [n] e) __ L:1([L] oves) O:スキップ V:1(Lo [v] es) E:2(Lov [e] s | Jan [e]) S:1(Love [s ]) __ J:スキップ A:1(J [a] ne) …

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

5
コンパイル時に8つのクイーンの問題を解決する[終了]
コンパイル時に8つのクイーンのパズルを解くことができますか? 適切な出力形式を選択します。 私は特にC ++テンプレートメタプログラミングソリューションに興味がありますが、たとえばHaskellの型システムなど、同様の構造を持つ言語を使用できます。 理想的には、メタプログラムはすべてのソリューションを出力します。ハードコーディングなし。

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 

30
課題:終了するコードを書く[終了]
私はすぐに終了するコードを検索しています(私ですか?)-まったく型にはまらない方法で。 これは意味しません:System.exit((int) 'A');(Java)。 意味するかもしれません: #!/usr/bin/env python3 # NOTE: This kills ALL RUNNING Python processes. Be careful! def exit(): import os os.system("killall python3") # Windows addon os.system("taskkill /im python.exe /f") exit() 最も賛成の答えが勝ちます!すべての言語、すべてのアーキテクチャ。 編集:例外をスローして終了することはできなくなりました!

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 

16
最小のチェスボード圧縮
チェス盤をエンコードおよびデコードできるアルゴリズムまたはプログラムを作成します。目標は、そのターンでのプレーヤーのすべての動きの可能性を判断するために使用できる(一度デコードされた)チェス盤の最小の表現を作成することです。 エンコードは以下を表示できる必要があります。 誰の番です。 プレイヤーが両サイドでキャッスルできるかどうか。 プレイヤーが同乗者を演じることができるかどうか、もしそうなら、どのポーンですか? すべてのピースの位置。 キャスリングに関する重要な注意事項:白が王を1ターン動かし、次に次の王を戻す場合、その後、どちらの側でもキャッスルできないことは明らかでなければなりません。彼らが左または右のルークを動かした場合も同様です。ボードは視覚的には2ターン前と同じ状態ですが、ゲームの状態は変化しています。詳細はこちら:http : //en.wikipedia.org/wiki/Chess#Castling en-passantについての重要な注意:これはターンセンシティブな動きでもあります。詳細については、ルールをご覧ください。http://en.wikipedia.org/wiki/Chess#En_passant 必要に応じて入力と出力を決定します。それを最も圧縮できる人への主要な小道具! あなたのスコアは最悪のシナリオで決定されます-ビットの最大可能サイズ。その数をどのように計算したか、何を計上したかを必ず示してください。最小の最悪の場合を撃ちます!

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

3
コンパスの使用を避けて五角形を構築する
ルール まず、A ≠ BであるポイントAAAとBBB 2つの要素のみから始めます。これらのポイントは、すべての方向に無限の平面を占有します。A ≠ BA≠BA \neq B プロセスの任意のステップで、次の3つのアクションのいずれかを実行できます。 2点を通る線を引きます。 別の点が円上にあるように、ある点を中心とした円を描きます。 2つのオブジェクト(線と円)が交差する新しいポイントを追加します。 目標は、できるだけ少ない円を使用して、正五角形(5辺の長さが等しい凸多角形)の頂点を形成するように5つのポイントを作成することです。もちろん他のポイントもありますが、そのうちの5つは通常の五角形に必要です。スコアリングのために五角形の端を描く必要はありません。 得点 2つの回答を比較する場合、描画する円の数が少ない方が優れています。円が同点の場合、最も少ない線を引く答えの方が優れています。円と線の両方が同点の場合、追加するポイントが最も少ない答えの方が優れています。 アンチルール 規則リストは網羅的であり、このリストにできることのすべてを詳述しているわけではありませんが、何もできないと言っているからといって、できるというわけではありません。 「任意の」オブジェクトを作成することはできません。あなたが見つけるいくつかの構造は、「任意の」場所にポイントを追加し、そこから動作するように考えます。交差点以外の場所に新しいポイントを追加することはできません。 半径をコピーすることはできません。いくつかの構造は、2点間の半径にコンパスを設定し、それを拾って他の場所に円を描くことを伴います。これはできません。 プロセスを制限することはできません。すべての構造は有限数のステップを踏む必要があります。答えに漸近的に近づくだけでは十分ではありません。 スコアリングで円として数えられることを避けるために、円弧または円の一部を描くことはできません。回答を表示または説明するときに視覚的にアークを使用したい場合は、それらが占めるスペースが少なくなりますが、スコアリングの円としてカウントされます。 道具 GeoGebraの問題を考えることができます。形状タブに移動してください。3つのルールは、中心ツールを使用したポイント、ライン、および円に相当します。 立証責任 これは標準ですが、繰り返し申し上げます。特定の回答が有効であるかどうかについて質問がある場合、回答者が、回答が有効ではないことを示す一般公開ではなく、回答が有効であることを証明する責任があります。 これは私のCode-Golfサイトで何をしていますか?! これは、ちょっと変わったプログラミング言語ではありますが、プルーフゴルフに似たアトミックコードゴルフの形式です。現在、この種のことが許可されているというメタに関するコンセンサスが+ 22 / -0です。

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