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

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

8
ブラックジャックバスト計算機
21としても知られるブラックジャックは、自分とディーラーのカードゲームを比較するもので、各プレイヤーは順番にディーラーと対戦しますが、プレイヤーはお互いに対戦しません。 プレイは次のように行われ、ディーラーはあなたにカードを配ります。次に、ディーラーは自分自身にカードを伏せて配ります。ディーラーはあなたに別のカードを配ります。そして最後に、ディーラーは自分自身にカードを表向きに配ります。 チャレンジ あなたの課題は、ディーラーが与える次のカードが破産する確率を実行(または呼び出し)、出力(またはリターン)するプログラム(または関数)を書くことです。ディーラーから21枚以上の別のカードが渡されます。 入力 プレイ中の3枚の目に見えるカード。それらはあなたが手に持っている2枚のカードと、ディーラーの手にある1枚のフェイスカードです。これは、アプリケーションに適した任意の形式にすることができます。 デッキには52枚のカードがあります(以下の各カードのうち4枚)。カードの価値は次のとおりです。 Symbol(Case Insensitive) Name Value 2 Two 2 3 Three 3 4 Four 4 5 Five 5 6 Six 6 7 Seven 7 8 Eight 8 9 Nine 9 T Ten 10 J Jack 10 Q Queen 10 K King 10 A or 1 …

7
あなたのためにアナグラムをゴルフしてください!
タスク この課題では、ランダムに選択されたアナグラムの1つを均一な分布で出力するコードを作成しますが、それ自体は出力しないでください。 精緻化 入力がない場合、プログラムはソースコードのアナグラムのいずれかを出力する必要があります。あなたのプログラムは、それ自身のソースをそのまま出力するべきではありません。つまり、それは決して馬であってはなりません。 入力 プログラムは何も入力してはいけません。ただし、必要に応じて言語で入力が必要な場合は、小文字が入力されると想定できますa。ただし、入力を使用しないでください。 出力 プログラムは、変数に書き込む以外の方法で出力できます。ファイル、コンソール、画面などへの書き込みが許可されています。機能returnも許可されています。 追加の規則 プログラムのソースコードには、少なくとも3 文字(3バイトではない)が必要です。 プログラムのソースコードには、少なくとも3つのアナグラムが含まれている必要があります(それ自体を除く)。たとえば、(および)以外のアナグラムが2つしかaabないため、有効な送信としてカウントされません。aabaabbaaaba プログラムはエラーを生成してはなりません。 あなたのプログラムはアナグラムを正確に出力するはずです。 標準の抜け穴と標準のクインルールが適用されます。 例 プログラムのソースコードがであるとしますabc。次のいずれかをランダムに出力する必要があります(均一な分布): acb bca bac cba cab そして、それは決して出力すべきではありませんabc。 受賞基準 これはcode-golfなので、バイト単位の最短コードが勝ちです!同点の場合、以前に投稿されたソリューションが勝ちです!

4
///でのゴルフのヒント
///でゴルフをするための一般的なヒントは何ですか?私はコードゴルフの問題に適用でき、少なくとも///に特定のアイデアを探しています(たとえば、「不要な空白を削除する」は答えではありません)。itflabtijtslwiとLinesのヒントはトピックに基づいており、ここでも有効です。 回答ごとに1つのヒントを投稿してください。
12 code-golf  tips 

1
気違いの化学者と賢いプログラマー
バックストーリー あなたは化学実験室でめまいを起こし、古い気違いの化学者に誘されたことに気づきます。彼は彼の年齢のために非常によく見えないので、彼はあなたに彼のために働きたいと望み、その時だけ、あなたは実験室から逃げることができる。 仕事 入力として化学式が与えられる分子の構造式を返すのはあなたの仕事です。炭素()、酸素()および水素()原子のみが入力として使用されることに注意してください。化学式とは異なり、a は有効な量指定子であり、a は省略できません(たとえば、有効な入力ですが、そうではありません)。COH01C1H4O0CH4 あいまいさを防ぐために、二重結合と三重結合が分子に現れないと仮定します。すべての炭素原子には4つの単結合、すべての酸素原子には2、水素原子には1つの単結合が必要です。また、O-O債券も存在しないと想定しています。分子は存在する必要も安定している必要もありません。 3出力の表示の明るさを確保するために、入力に炭素原子以上が含まれることはありません。 中断することなく、炭素原子が直線に配置されている分子のみを表示する必要があります。エルゴ、C-O-C絆なし。 前のルールで除外されていない可能性のあるすべての分子を返す必要があります。無効な入力を処理する必要はありません。 次の例は、その分子に対して処理する必要があるすべてのソリューションを表示します。 分子の式の1つのページの平面での180度の回転は冗長性と見なされ、表示する必要はありません。 以下の例では、分子に可能なすべての式を示し、表示する必要のない式を指摘します。 例 入力: C2H6O2 まず、この入力に使用できるすべての式を以下に示します(@Jonathan Allanに感謝します) 01 H | O H | | H - O - C - C - H | | H H 02 H | H O | | H - O - C …

7
XNORデジタルタイミング図を描く
以下は、XNOR論理ゲートの(概略)デジタルタイミング図です。 ┌─┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ A ──┘ └─┘ └─┘ └─┘ └─┘ └─┘ └── ┌───┐ ┌───┐ ┌─┐ ┌─────┐ ┌─┐ ┌─┐ B ┘ └─┘ └─┘ └─┘ └───┘ └─┘ └ ┌─────┐ ┌─┐ ┌─┐ ┌───┐ X ──┘ └───┘ └───┘ └───┘ └──── 目標は、描かれているとおりに正確に再現することです。 ルール: 印刷するか、複数行の文字列を返すことができます。 任意の数の追跡および/または先頭の改行が許可されます。 末尾の(先頭ではない!)空白は許可されます。 拡張ASCIIボックス描画文字を使用できない場合は、Unicodeの同等の文字に置き換えることができます(バイトペナルティなし)。 これはコードゴルフなので、バイト単位の最短回答が優先されます。 バイナリ表現 便宜上、上の図のバイナリ表現は次のとおりです。 INP A=0101011101010110 …

1
ISO 8601日付の検証で純粋な正規表現を破る
ではRXによって検証ISO 8601、挑戦はするだけで、標準的な正規表現を使用していた標準の日付形式検証と値を(前者はRXのための共通の仕事で、後者は異例でした)。勝った答えは778バイトを使用しました。この課題は、特別な日付関数またはクラスを使用せずに、選択した任意の言語を使用してそれを克服することです。 チャレンジ 最短のコードを見つける Proleptic Gregorianカレンダーのすべての可能な日付を検証します(これは1582年に最初に採用される前のすべての日付にも適用されます)。 無効な日付と一致しない 事前に定義された関数、メソッド、クラス、モジュールなどを使用して日付(および時刻)を処理しません。つまり、文字列および数値演算に依存します。 出力 出力は真実または偽です。日付を出力または変換する必要はありません。 入力 入力は、3つの拡張ISO 8601日付形式のいずれかの単一文字列です。 最初の2つは±YYYY-MM-DD(年、月、日)と±YYYY-DDD(年、日)です。両方ともうるう日に特別なケーシングが必要です。これらは、これらの拡張RXによって個別に単純に照合されます。 (?<year>[+-]?\d{4,})-(?<month>\d\d)-(?<day>\d\d) (?<year>[+-]?\d{4,})-(?<doy>\d{3}) 3番目の入力形式は±YYYY-wWW-D(年、週、日)です。複雑なうるう週パターンのため、複雑なものです。 (?<year>[+-]?\d{4,})-W(?<week>\d\d)-(?<dow>\d) 条件 うるう年予期的グレゴリオ暦のカレンダーでは、含まれているうるう日 …-02-29、したがって、それは長い366日で、それ故に…-366存在します。これは、(おそらく負の)序数が4で割り切れる年に発生しますが、400で割り切れる場合を除き、100で割り切れません。 このカレンダーにはゼロ年が存在し、うるう年です。 長い年のISO週のカレンダーでは、第53週が含ま…-W53-…1は「という用語ができ、飛躍の週を」。これは、1月1日が木曜日であるすべての年に発生し、さらに水曜日であるすべてのうるう年に発生します。0001-01-01そして2001-01-01月曜日です。通常、5年または6年ごとに、一見不規則なパターンで発生することが判明しています。 年は少なくとも4桁です。10桁を超える年は、宇宙の年齢(約140億年)に十分近いため、サポートする必要はありません。先頭のプラス記号はオプションですが、実際の標準では、4桁を超える年数は必須であることを示しています。 部分的な日付または切り捨てられた日付、つまり日精度未満の日付は受け入れられません。-すべての場合にハイフンを分離する必要があります。(これらの前提条件により、リード+は常にオプションになります。) ルール これはコードゴルフです。バイト単位の最短コードが優先されます。以前の回答が引き分けになります。 テストケース 有効なテスト 2015-08-10 2015-10-08 12015-08-10 -2015-08-10 +2015-08-10 0015-08-10 1582-10-10 2015-02-28 2016-02-29 2000-02-29 0000-02-29 -2000-02-29 -2016-02-29 +2016-02-29 200000-02-29 -200000-02-29 +200000-02-29 2016-366 2000-366 0000-366 -2000-366 …
12 code-golf  date 

2
これはどの有限アーベル群ですか?
説明 f(m, G)引数としてmapping m、および明確な非負整数のセット/リストを受け入れる関数を作成しますG。 mの整数のペアGをの新しい整数にマッピングする必要がありますG。(G、m)は有限のアーベル群を形成することが保証されていますが、の任意の要素はG恒等式である可能性があります。 次のような重要な定理があります。 [各有限アーベル群]は、素数次数の巡回群の直接積に同型です。 f[p1, ... pn]次のような昇順で素数のリストを返す必要があります 例 f((a, b) → (a+b) mod 4, [0, 1, 2, 3])返さなければならない[4]パラメータは、グループ記述として、Z 4。 f((a, b) → a xor b, [0, 1, 2, 3])[2, 2]パラメータはZ 2 ×Z 2に同型なグループを記述するため、返されるはずです。 f((a, b) → a, [9])[]パラメータは自明なグループを記述するため、を返す必要があります。すなわち、ゼロの巡回グループの積。 m次のように定義します。 (a, b) → (a mod 3 + b …

3
アスキーアートチェス盤
この課題では、下にチェス盤を描き、動きを可能にします。 1.描画 白い正方形にはそれぞれ5x9のスペースがあります。 各黒い正方形には5x9のコロンがあります。 ボードはコロンの境界線に囲まれています。 ピースの幅は5文字で、中央の正方形の一番下の行にあります。 ポーンの幅は4文字です。中央から少し右にずれており、左側に3つの空白の正方形、右側に2つの空白の正方形があります。彼らは、正方形の底の1行上に座っています。 オプションの末尾の改行を除き、ボードの領域の外側に空白があってはなりません。 ボードとチェスマンは、以下を除き、示されているとおりに正確に描かれなければなりません。 あなたはsubsituteも:異なるシンボルのための黒い四角との国境で、あなたが置換してもよい@異なるシンボルのための黒い部分での(黒い四角のために使用したのと同じものをではなく。) 必要に応じて、ポーンを1文字左に移動できます。 。 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: : ::::::::: :::www::: _+_ ::::::::: :::::::::: : |_|_| :: _,,::: (/) :::)@(::: )@( :::(/)::: _,, ::|_|_|::: : |@| ::"- \~:: |@| :::|@|::: |@| :::|@|::: "- \~ :::|@|:::: : |@| :::|@|::: |@| :::|@|::: |@| :::|@|::: |@| :::|@|:::: : …

9
T9キーボードを作成する
この質問は、非常に興味深い問題である機能に一致するT9辞書を求めています。ただし、T9には別の入力方法があり、それは文字ごとに入力することです。このキーボードを実装するために辞書は必要ありません。 忘れた場合のT9キーボードのキーマップは次のとおりです。 +-------+-------+-------+ | 1 | 2 | 3 | | .?! | ABC | DEF | +-------+-------+-------+ | 4 | 5 | 6 | | GHI | JKL | MNO | +-------+-------+-------+ | 7 | 8 | 9 | | PQRS | TUV | WXYZ | +-------+-------+-------+ | * …

5
モンキーアイランド:ナビゲーターの頭
警告:このチャレンジには、The Secret of Monkey Islandの軽度のネタバレが含まれています。 ゲームの終わりに向かって、魔法のように保存されたナビゲーターの頭がカタコンベを通り抜けます。 あなたはその眼球のネックレスを必要としますが、頭はあなたにそれを与えることに消極的です。それを得る一つの方法は、ただ物beいをすることです: Guybrush:ネックレスを頂けますか? 頭:いいえ、でも丁寧に質問してくれてありがとう。 ガイブラシ:おいおいおい 頭:あなたはあなたが望むすべてを請うことができますが、あなたはそれを持つことはできません。 ガイブラシ:可愛がって? 頭:あなたはあなたが望むすべてを請うことができますが、あなたはそれを持つことはできません。 ガイブラシ:プリティプリティください? 頭:あなたはあなたが望むすべてを請うことができますが、あなたはそれを持つことはできません。 Guybrush:砂糖を上に乗せてください。 頭:ああ、大丈夫、あなたは大きな赤ちゃん。きみにあげる。ねえ、肩がなければネックレスは何がいい? チャレンジ 上記のダイアログを印刷する完全なプログラムを作成します。キャッチは、プログラムが呼び出されるたびに、2行(GuybrushとHeadの応答によって訴えられる1行)だけを印刷することです。たとえば、投稿がPythonで記述されている場合、使用方法は次のようになります。 $> python please.py Guybrush: May I please have that necklace? Head: No, but thanks for asking so politely. $> python please.py Guybrush: Oh come on, pleeeeease? Head: You can beg all …

9
n番目のハイパーオペレーションを評価する
私はこれが少し数学的なものであることを理解していますが、ここに行きます。 数学では、ハイパーオペレーションシーケンスは、後継者の単項演算で始まり、加算、乗算、べき乗のバイナリ演算で続行する算術演算(ハイパー演算と呼ばれる)の無限シーケンスであり、その後、シーケンスはさらにバイナリ演算を超えて進みます右結合を使用した累乗。 あなたの目標は、入力として3つの整数x、y、およびnを取り、xおよびyに対するn番目のハイパーオペレーションの結果を出力するプログラムを作成することです。 例えば 1 1 1 出力2 2 4 4 出力65536 3 3 4 出力7625597484987 プログラムは、コードの最短ビットで作成する必要があります。 STDINファイルからまたはファイルから入力を取得できます。 ライブラリ関数は許可されていません。 入力制約:nは1以上です。 http://en.wikipedia.org/wiki/Tetrationには、これで頭を包めない場合の良い説明があります。

9
フラグセマフォエンコーダ
あなたの目標は、Wikiで説明されているセマフォシステムに従って、特定の文を対応するフラグセマフォ文字に変換するフラグセマフォエンコーダを作成することです。 入力は、stdin(または同等のもの)を介して提供される単一の文であると想定します。出力は一連のセマフォ文字である必要があり、各行は文の1つの単語を表します。アルファベット(AZ)のみを扱う必要があり、他のすべての非スペース文字を無視する必要がありますが、大文字と小文字の両方を処理できる必要があります。出力には余分な空白を含めることができます。 セマフォ文字は3x3の正方形で表示されO、中央にがあり、フラグの位置が文字で表されている必要があり| - / \ます。各セマフォ文字は、隣接する文字とスペースで区切る必要があり、各行は空白行で区切る必要があります。表示するには長すぎる単語の折り返しを心配しないでください-行の長さが無限であることを装います。 サンプル入力: abcdefg hijklmn opqrstu vwxyz サンプル出力: \ | / O -O O O O O- O /| | | | | | |\ \ | | / -O O O- O O O- O / / / / / / \ \ | / …

12
コードゴルフ:ボールの配布(I)
チャレンジ このタスクでは、すべてのセルが少なくとも1つのボールを持つ状態で、AのボールをBのセルに分配する方法の数を計算しました。 入力AとBは空白で区切られた1行で与えられ、入力はEOFで終了します。 こちらでソリューションを確認できます。 入力 0 0 1 0 12 4 6 3 18 17 20 19 15 13 18 9 20 20 17 14 9 2 14 13 18 11 出力 1 0 14676024 540 54420176498688000 23112569077678080000 28332944640000 38528927611574400 2432902008176640000 21785854970880000 510 566658892800 334942064711654400 制約 すべてのAとBは区別できます。 0 <= A、B …

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

11
1D Life-of-Life-ishモデルのシミュレーション
この質問は、コードレビューで傾向が出てきたばかりで、コードゴルフのチャレンジとして採用した方がいいと思いました。 ブール値として表されたx個の家の空でないリストが表示されます。毎日、家は隣接する家と競争しています。1は「アクティブ」な家を表し、0は「非アクティブ」な家を表します。特定の家の両側の隣人が両方ともアクティブまたは両方とも非アクティブである場合、その家は翌日に非アクティブになります。それ以外の場合はアクティブになります。 def get_state_as_pos(thelist, pos): if thelist[pos-1] == thelist[pos+1]: return 0 else: return 1 たとえば、隣人のグループ[0、1、0]がある場合、[1]の家は、左側と右側の家が両方とも非アクティブであるため、0になります。両端のセルは反対側もチェックするため、インデックス0の隣接length-1セルはインデックスとindexn1にあり、その逆も同様です。セルを更新した後でも、他のセルを更新するときは以前の状態を考慮して、各セルの状態情報が同時に更新されるようにする必要があります。 この関数は、状態の配列といくつかのステップを受け取り、指定されたステップ数の後の家の状態を出力する必要があります。 input: states = [1, 0, 0, 0, 0, 1, 0, 0], steps = 1 output should be [0, 1, 0, 0, 1, 0, 1, 1] input: states = [1, 1, 1, 0, 1, 1, …

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