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

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

2
黄色の木に分岐した2本の道路(パート3)
注:これは、以前の私の挑戦であった、黄色の木材に分岐した2本の道路(パート2)に基づいています。その質問の人気と2つの道路が黄色の森に分岐したため(パート1)、3 つ目の道路を作成したいと思いました。しかし、最初の2は、あまりにも簡単(た2バイトの最初の答えは、第二の15バイトの答え。)だから私は、より複雑な何かをしました... インスピレーション この挑戦は、ロバート・フロストの有名な詩、「道はとられない」に触発されました。 黄色い森に分かれた2本の道、 そして申し訳ありませんが、両方を旅することはできませんでした。 一人旅人になり、長い間立ち 、できるだけ下を見下ろし ました。 ... 2段落をトリミング... 私はため息をついてこれを言います。 年齢とそれゆえ年齢: 2つの道路が森の中で分岐し、私は—通行が 少ない方の道路を利用しました 。それがすべての違いを生んでいます。 最後から2番目の行に注意してくださいI took the one less traveled by,。 裏話 あなたは、道を歩いている盲目の冒険家を助けるために割り当てられ、The Road Not Takenに触発されました。冒険者が道路の分岐点に近づいていて、あまり移動しない経路を進みたいと考えています。あなたは冒険者が実際にどこにいるのかを見つけ、冒険者にどこを曲がるかを教えなければなりません。 チャレンジ あなたの目標は、道路が分岐している地図上で最も移動が少ない道路を見つけることです。マップは改行(または\n、必要に応じて)を含む文字列であり、幅と高さが不明です。マップでは、道路は0〜9の数字で構成され、交差点は#sで構成されています。あなたは現在あなたが通っている道を見つけ、他の道の中で最も通った道と、盲目の冒険家のためにあまり通らなかった道を見つけなければなりません。マップ内の森はスペースで表されます。ここに簡単なマップがあります: 2 2 1 0 # 2 2 このマップは、幅5、高さ5です。道路がY字型に分岐していることに注目してください。Yの向きはどのようなものでもかまいません。そのため、「回転した」マップを理解できる必要があります。 どういう#意味 地図が分岐する場所にはがあり#ます。これはパスのスコアには影響しません。 数字が実際に意味すること 各パス(数字の線、曲がりがある場合があります)にはスコアがあります。パスのスコアはその数字を合計することによって決定されるため、最初の例では、最初のパス(左上から時計回り)のスコアは2 + 1 = 3、2番目のパスは2 + 0 = 2、3番目のパスは2 …

10
テフロンのように滑らか
文字通り!4月6日は、テフロンコーティングされたフライパン(私たちが作るもの)で祝われるNational Teflon Dayです。したがって、正の整数nを指定して、テフロン鍋を作成します。パンの「パン」セクションは八角形で、各面はn文字で構成されています。これは、文字{またはを使用する面以外の}面によって異なります。これらの辺の文字長は常に1になります。n1の場合: _ / \ { } \_/ あなたが見ることができるように、それぞれの側は1つの文字で構成され(いずれか{、}、/、\、または_)。n2の場合: __ / \ / \ { } \ / \__/ ハンドルはで作成されn+3 =、ゼロ(0)で終わります。 n1つの場合: _ / \ { }====0 \_/ n 2: __ / \ / \ { }=====0 \ / \__/ n 3です: ___ / \ / \ / \ …

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

8
私のスキャントロンを評価してください!
標準化されたテストには通常、スキャントロンまたは回答を記録するある種の回答ドキュメントが付属しています。コンピュータまたは人間があなたの答えをチェックし、あなたの成績を決定します。したがって、ここでは、スキャントロンと解答キーを与えられて、もしあれば、得点と見逃された質問を決定します。スキャントロンは、ユーザーが記入する(この場合は丸で囲まれた)回答のある複数行のドキュメントです。例: --- 1. |a| b c d --- ご覧のaように、ボックスで囲まれているため、これは回答の選択肢が選択された質問1 です。挑戦のために、あなたがスキャン-TRONが与えられますn(質問1 <= n <= 10と表記のみ4の答えで)a、b、c、またはd。回答キーは、スペースのない、すべて小文字の文字列として与えられます。回答キー付きのスキャントロンの例: Scan-tron --- 1. |a| b c d --- --- 2. a |b| c d --- --- 3. a b |c| d --- Answer Key abb 識別できる限り、回答キーとスキャントロンを別々の入力として、または選択した順序で取り込むことができます(つまり、回答キーがスキャントロンから分離されています)。スコアは、小数点以下第1位に丸められます。上記の出力例: Score: 66.7 Missed #: 3 他の許容できる答えは次のとおりです。 66.7 3 または複数の質問が欠落している場合 66.7 …

1
バランスの取れた近所を見つける
あなたの仕事は、バランス文字列とレーベンシュタイン距離を表す整数(ある文字列を別の文字列にするために挿入、削除、または変更する必要のある文字数)を取得することであり、その距離の平衡文字列の数を見つける必要があります元の文字列(つまり、その文字列の近傍)から。 規定 バランスのとれた文字列は文字のみで構成されます ()<>[]{} あなたは正の等距離の近隣を見つけるように求められます 入力と出力は柔軟です。適切なデータをすべて取り込んで、抜け穴に違反することなく正しい答えを出力する限り、私はあなたの答えに満足しています。 必要に応じて、すべての整数入力を2で除算することもできます。 これはコードゴルフなので、目的は回答のバイト数を最小限に抑えることです これはこのCMCとこの答えに触発されました テストケース Case | Distance | Size of Neighborhood -------------------------------------------- () | 2 | 18 ({}) | 2 | 33 (()) | 2 | 32 <> | 4 | 186 [][] | 4 | 688 <(){}> | 4 | 1379 {} | …

3
論理式を論理積正規形に変換する
ゴール: 命題論理式(以降、論理式または式と呼ぶ)の式を取り、その式を論理積標準形で出力する完全なプログラムまたは関数を記述します。そこの2つの定数があり、⊤そして⊥単項演算子、真と偽を表す¬否定を表す、およびバイナリ演算子は⇒、⇔、∧、と∨暗に、同値、接続詞、および論理和を表す、それぞれどの(通常の論理演算のすべてに従わドモルガンの法則を、二重否定の除去など)。 結合標準形は次のように定義されます。 アトミック表現(⊤およびを含む⊥)は、連言正規形です。 以前に作成された式の否定は、接続詞の正規形です。 以前に作成された2つの式の分離は、接続詞の正規形です。 以前に作成された2つの式の結合は、接続詞の正規形です。 他の表現は、接続型の通常の形式ではありません。 すべての論理式は、論理的に等価な論理積形式に変換できます(一意ではありません)(このアルゴリズムを参照)。その特定のアルゴリズムを使用する必要はありません。 入力: 入力は任意の形式で行うことができます。たとえば、シンボリック論理式(言語でサポートされている場合)、文字列、その他のデータ構造。ここで説明するように、true、false、および論理演算子に同じ記号を使用する必要はありませんが、選択は一貫している必要があり、明確でない場合は、回答で選択を説明する必要があります。他の入力を受け入れたり、入力形式で追加情報をエンコードしたりすることはできません。任意の数の原子式を表現する方法が必要です。例:整数、文字、文字列など 出力: 連想標準形の数式。これも便利な形式です。入力と同じ形式である必要はありませんが、違いがあるかどうかを説明する必要があります。 テストケース: P ∧ (P ⇒ R) -> P ∧ R P ⇔ (¬ P) -> ⊥ (¬ P) ∨ (Q ⇔ (P ∧ R)) -> ((¬ P) ∨ ((¬ Q) ∨ R)) ∧ ((¬ P) ∨ (Q …
10 code-golf  math  logic 

2
位置認識
位置認識 あなたの仕事は、その文字(元のプログラムを含む)のすべての順列に対して、元のプログラムに対するすべての文字の位置を出力するプログラムを生成することです。 あなたのプログラムが Derp 出力する必要があります [0, 1, 2, 3] (または同等のもの)。これは、あるDている0番目の位置、eである1、ST rは2NDを、そしてRD。p3 元のプログラムであるが、その文字が入れ替えられた別のプログラムを見てみましょう。 epDr 出力する必要があります [1, 3, 0, 2] ためeにある1元のプログラムの番目の位置、pである3番目の位置、目、およびND。D0r2 元のプログラムに2つの繰り返し文字がある場合: abcda -> [0, 1, 2, 3, 4] その後順列のために、0そして4、アレイ内では昇順でなければなりません。 baadc -> [1, 0, 4, 3, 2] (0 first, then 4) ルール: プログラムには、少なくとも2つの固有の文字が含まれている必要があります。 ほとんどのfloor(n/2)キャラクターは同じであるべきです。 aabb (acceptable) aaaabc (not acceptable, only floor(6/2) = …

18
ひもを丸める
バイナリフロートの内部表現のため、一部の10進数はバイナリフロートとして正確に表すことができません。たとえば、14.225を2桁の10進数に丸めると、14.23にはなりませんが、14.22になります。 Python: In: round(14.225, 2) Out: 14.22 ただし、「14.225」として14.225の文字列表現があると仮定すると、文字列表現として「14.23」の丸めを実現できます。 このアプローチは、任意の精度で一般化できます。 可能なPython 2/3ソリューション import sys def round_string(string, precision): assert(int(precision) >= 0) float(string) decimal_point = string.find('.') if decimal_point == -1: if precision == 0: return string return string + '.' + '0' * precision all_decimals = string[decimal_point+1:] nb_missing_decimals = precision - len(all_decimals) if …

12
座標とその値を一致させる
3つの入力項目、座標ペアのリスト、2D文字列、および1文字の文字列を指定すると、2D文字列の各座標の文字が1文字と等しいかどうかが出力されます。入力は任意の順序で取ることができ、座標には1インデックスを付けることができます。 2D文字列は、2Dリスト、線のリスト、または2D文字列として取得できます。 例: (0,0), "#_\n__", "#" -> True 文字列は #_ __ 座標(0,0)(左上から)の文字は#です。これは3番目の入力項目に等しい#ので、出力True(または任意の真の値) 例: [(0,0), (1,1)], "#_\n_#", "#" -> True 文字列は #_ _# 座標の文字(0,0)と(1,1)の両方であるが#、その出力は真です。 すべての座標がハッシュに一致する場合にのみ、出力は真になります。ただし、すべてのハッシュが一致する座標を持つ必要はありません。#2D文字列に(一部のテストケースで)単一の文字が出現しない場合でも、出力は不正です。 座標は常に2D文字列の境界内にあると想定できます。 その他のテストケース:(読みやすくするために、1文字を2番目にしています) [(0,0), (2,1), (3,0)], # #_## #_## True [(0,0), (1,1), (3,0)], # #_## #_## False (1,1 is not a hash) [(1,1)], a #a## #a## True …

4
OSスレッドスケジューラに起因する非決定性を公開する
誰もが知っているように、最新のオペレーティングシステムにはスレッドスケジューラがあり、コードが機密ではない内部ロジックに基づいてスレッドをスケジュールするためにさまざまな順序を選択できます。通常は、マルチスレッドコードを設計して、この非決定論が出力に意味のある影響を与えないようにします。 ここでの目標は反対です。[0,99]の間隔で整数を出力しますが、OSスレッドスケジューラにより実行ごとに異なる順序でプログラムを生成します。 次のように定義される「十分な非決定性」を達成する必要があります。 10試行の10の連続セットでは、プログラムは各試行内で少なくとも9の一意の順列を生成する必要があります。連続する10回の試行のいずれかの側で、成功する試行の失敗したセットが妥当な数になる可能性があります。 または、別の言い方をすると、プログラムの100回の実行が必要です。10回の実行の各ブロックには、同じものを出力する最大2回の実行があります。 したがって、98と99を時々入れ替えても、うまくいきません。 これはcode-golfなので、使用するバイト数が最も少ない答えが優先されます。 細目 出力をstdoutに書き込みます(1行に1エントリ) 2つのスレッドにstdoutへの文字書き込みをインターリーブさせて(たまに)、3桁の数字や空の行などの結果が生じる場合、結果は無効です。 上記のルールの唯一の例外は、最後に必要な数を出力した後、空の行を1行発行することです(どういたしまして) 必要な値を見逃したり複製したりすると、結果は無効になります プログラムは、シングルコアプロセッサで非決定的である必要はありません(ただし、そうである場合は称賛されます)。 プログラムは、チャレンジの他の要件を満たし、スレッドシステムが言語または言語の標準ライブラリの一部である場合に限り、OSカーネルによって実際には管理されていない緑色のスレッド/ファイバーを使用できます。 プログラムのランタイムは、最新のプロセッサで5秒未満である必要があります。 待機や設定変更など、プログラムの外部で発生する環境の変更を指定することはできません。プログラムは、100回連続して実行するか、各実行の間に1時間を置いて実行するか、並列に100回実行するかに合格する必要があります(これはおそらく実際に役立ちます...) GPUやXeon Phiなどのコプロセッサーと、タスク用の独自の内部スケジューリングメカニズムを使用できます。ルールは、グリーンスレッドに適用されるのと同じ方法でこれに適用されます。 この投稿で指定されたルールに従っている限り、あらゆる種類のスリープ、イールド、その他のトリックでスケジューラを自由に挑発してください。 禁止されている操作 非決定論の唯一の原因は、スケジューラーがスレッドの実行をスケジュールするときです。次のリストは完全ではなく、非決定論の他のソースを認めているために許可されていないことの例を提供することのみを目的としています。 任意の種類のPRNGまたはハードウェアRNG機能に直接または間接的にアクセスする(スケジューラーの固有の部分としての場合を除く)。 あらゆる種類の入力(システム時間、ファイルシステム、ネットワークなど)の読み取り スレッドIDまたはプロセスIDの読み取り OSスケジューラのカスタマイズ。メインストリームOSの標準OSスケジューラを使用する必要があります グリーンスレッド/ファイバースケジューラのカスタマイズも禁止されています。つまり、この課題に対応する言語を作成する場合、OSスレッドを使用する必要があります。 回答の検証 できれば答えはすべての一般的なOSと最新のプロセッサで機能し、サポートの幅に比例して賞賛が与えられます。ただし、これは課題の要件ではありません。少なくとも、回答は1つの最新のSMPプロセッサと最新のOSをサポートする必要があります。ハードウェアの可用性の範囲で主要な回答をテストします。 入力がWindows 10 v1607 x64を実行しているi7 5960xで必要な出力を生成しない場合は、必要な環境を指定します VMWare Workstationで簡単に再現できるものであれば、正確なOSとVMの仕様を提供してください これらの条件のいずれかで作成できない場合は、ヘッダーセクションで説明されているように、テストの同時画面キャプチャと、マウスとキーボードの操作(または非標準の計算による制御スキーム)による画面のハンドヘルドビデオ録画を記録します。デバイスの使用)両方の動画を明確に表示し、回答と一緒に投稿し、それが機能する理由の説明を含める または、一致するハードウェアを使用して信頼できる長年のユーザー(あなたではない)に結果を再現し、保証します エントリがエキゾチックなプログラミング言語であり、一般的な開発者がコンパイル/ jit /解釈するように設定されていない場合は、設定手順を提供します エントリーがJVM / Pythonインタープリター/その他の特定のバージョンに依存している場合は、どれを指定するか 私のテストで10回の連続した一連の試行が成功するまでに10分以上かかる場合、失敗します(特に、上限に近い場合は、成功条件が異常な発生にならないようにしてください)ランタイムバインド)

4
ASCII六角形リングタイリングを作成する
ASCIIを使用して、六角形のリングタイルのセクションを印刷します。 ここに小さなセクションがあります: /\__/\ /_/ \_\ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ \ \__/ / \/__\/ ここに大きなセクションがあります: \ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\ …

3
単語リストから最短のパングラムを見つける
パングラムは、すべての文字を含む文字列ですa- z英語のアルファベット、大文字と小文字を区別しませんの。(パングラムに文字のコピーが複数含まれていたり、文字に加えて文字以外の文字が含まれていても問題ありません。) 入力が文字列のリストであり、次のプロパティを持つ1つ以上の文字列を出力するプログラムまたは関数を記述します。 各出力文字列はパングラムでなければなりません。 各出力文字列は、スペースで区切られた、入力リストからの1つ以上の文字列を連結して形成する必要があります。 各出力文字列は、これらのプロパティを持つすべての文字列の中で、最短であるか、最短で結合されている必要があります。 多くのプログラムは、1つの文字列のみを出力することを選択します。出力を制限するために追加のコードを作成する必要がある場合にのみ、複数の文字列を出力する必要があります。 入力に印刷できない文字やスペースが含まれておらず、その中の単語が(リストの長さの自然対数の26倍)文字を超えていないと想定する場合があります。(ただし、入力に文字のみ、または小文字のみが含まれているとは限りません。句読点と大文字は完全に可能です。) 入力と出力は、適切な形式で指定できます。プログラムのテストには、2つのテストケースを使用することをお勧めします。英語の単語の辞書(ほとんどのコンピューターには1つあります)と、次のケース(完全な(26文字)のパングラムが不可能な場合)を見つける必要があります。重複した文字を含む): abcdefghi defghijkl ijklmnop lmnopqrs opqrstuvw rstuvwxyz 提出物とともに、プログラムの出力のサンプルを含める必要があります。(これは、異なる単語リストを使用した結果、人によって異なる場合があります。) 勝利条件 これは、複雑さ が制限されたコードゴルフの課題です。勝者は、多項式時間で実行される最も短いプログラム(バイト単位)です。(それが何を意味するのかを知らない人のための要約:単語リストのサイズを2倍にすると、プログラムは一定の係数以下で遅くなるはずです。しかし、問題の定数係数はあなたと同じくらい大きくすることができますたとえば、4倍または8倍遅くなることは有効ですが、単語リストの長さの係数だけ小さくなることはありません。遅くなる係数には制限があるはずです。)

4
Zにマーカーが付いたバウンスエッジのXYボックス
久しぶりのポスターはこちら。 X、Y、Zの3つの入力を受け取るプログラムを記述します。 X =横(列) Y =ダウン(行) Z =ロケーションマーカー プログラムは、XとYを下にして視覚グリッドを印刷します。このグリッドは、「+」以外の任意の文字で作成できます。各「場所」からカウントアップ、インデックス番号が付与されている1、次いでダウン端まで横切る1,1を調整しました。 XとYは常に少なくとも3であり、Zは決して大きくならないX * Y。 Zは、「+」として印刷される位置を表し、その位置と1文字の左、右、上、下を表します。例えば: + +++ + 最後に、+文字がエッジ(最上位、左端、右端、および/または最下端)をインターセプトする場合、+は同じ軸に沿って跳ね返り、反対側をオーバーフローします。 例:入力= 5、5、13 ----- --+-- -+++- --+-- ----- 入力= 10、10、10 -------+++ ---------+ ---------+ ---------- ---------- ---------- ---------- ---------- ---------- ---------- 入力= 10、10、21 ---------- +--------- +++------- +--------- ---------- ---------- ---------- ---------- ---------- ---------- 編集:非正方形​​の例16,3,32 ---------------+ …

5
最適なクルーズコントロールオプションを決定する
クルーズコントロールには、ハンドルを動かして、運転したい速度を設定する3つのオプションがあります。 あなたに向かって:1スピードを追加します。 上向き:速度を次の10の倍数に上げます(例:20-> 30、32->> 40) 下向き:速度を10の次の倍数に下げます(例:20-> 10、32->> 30) 入力 2つの整数:1つ目は開始速度、2つ目は希望の速度で、負ではなく、任意の形式(配列、2つの引数など)です。 仕事 ハンドルを使用して目的の速度に到達するための最適な方法を決定し、正しい順序で動きを出力します。 ルール 手前に引くか上に行く(39から40など)かを選択できる場合は、どちらのオプションも選択できますが、同様の場合は何を選択してもかまいません。 3つの異なる(できれば表示される)シンボルを使用して、出力の動き(T、U、Dなど)を区別できます。 記号は改行、スペースなどで区切ることができますが、必ずしもそうである必要はありません。 ここにいくつかのテストケースがあります: start speed, desired speed --> output 30, 40 --> U 30, 43 --> UTTT 43, 30 --> DD 51, 39 --> DDDTTTTTTTTT 29, 30 --> T or U 29, 50 --> TUU or …

5
有効数字はいくつですか?
入力として数値を与えて、それがいくつの有意な数字を持っているかを決定します。特別なフォーマットを行う必要があるため、この数値は文字列として解釈する必要があります。すぐに私の意味がわかります(私は思う)。 以下の少なくとも1つが当てはまる場合、数字はsig-figです。 ゼロ以外の数字は常に重要です。 2つの有効数字の間のゼロはすべて有効です。 小数部分の最後のゼロまたは後続のゼロのみが重要です。 小数点以下に何もない場合は、すべての桁が有効です。 ゼロしかない場合、最後のゼロ以外はすべて先行ゼロと見なされます 入力 数値の文字列または文字列配列。末尾に小数点のない小数点がある場合があります。小数点がまったくない場合があります。 出力 いくつのsig-figsがあります。 例 1.240 -> 4 0. -> 1 83900 -> 3 83900.0 -> 6 0.025 -> 2 0.0250 -> 3 2.5 -> 2 970. -> 3 0.00 -> 1
10 code-golf  string  math 

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