タグ付けされた質問 「grammars」

30
小さな「H」から「H」を作成する
チャレンジ 整数を指定するとsize、次のことを行う関数またはプログラムを作成します。 size1に等しい場合、出力 H H HHH H H 場合はsize1、出力よりも大きく、 X X XXX X X どこXのプログラム/関数の出力size - 1 (必要に応じて0、回答で指定する限り、ベースケースをに対応させることができます) 次の出力形式のいずれかが受け入れられますが、どちらがより便利です。 任意の二つの異なる文字に対応する必要な構造の文字列Hとspace 対応する任意の二つの別個の値を要求される構造を有する二次元アレイ、H及びspace 任意の二つの別個の値は、対応する各列における出力の一つの行と列/文字列のリスト、Hおよびspace 各行に一定量の先行スペースがある限り、先行スペースを使用できます。2つの異なる出力文字は、異なる限り、選択したものに依存します。 コードが返す出力形式を指定します。 テストケース 1 H H HHH H H 2 H H H H HHH HHH H H H H H HH HH H HHHHHHHHH H HH HH …
73 code-golf  ascii-art  fractal  code-golf  code-golf  string  code-golf  string  matrix  code-golf  graph-theory  maze  binary-matrix  code-golf  kolmogorov-complexity  random  code-challenge  metagolf  test-battery  brain-flak  text-processing  code-golf  matrix  code-golf  number-theory  primes  code-golf  string  matrix  code-golf  binary  bitwise  code-golf  number  factorial  floating-point  code-golf  number  sequence  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-golf  string  code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

6
助けて!電卓が誤動作します!
前書き 電卓の動作がおかしい。入力するときにが8表示されることがあり2ます。そして時々私がタイプするとき6それは表示する+。いくつかのボタンが混同されています! 誰が私がどちらを決定するのを手伝ってもらえますか? チャレンジ: 入力:間違った方程式のリスト、正しい結果。 出力:交換される2つのボタン。 例: 入力は次のとおりです。 123 = 3 8423 = 252 4+4 = 8 4*7-10 = 417 9/3 = 3 42-9 = -36 そのために期待される出力は、次のとおり2と*。 どうして?2と*を入れ替えると、すべての方程式が正しいからです。 1*3 = 3 84*3 = 252 4+4 = 8 427-10 = 417 9/3 = 3 4*-9 = -36 チャレンジルール: 入力は任意の合理的な形式にすることができます。スペースで区切られた単一の文字列にすることができます。文字列リストまたは-array。方程式のリストと正しい結果の別のリスト。あなたの電話。使用した入力形式を明記してください! 注:これは-5--15、-5- -15またはとしてテストケースを入力できることも意味します-5 …
28 code-golf  number  arithmetic  integer  code-golf  math  number  geometry  code-golf  grid  code-golf  math  number  sequence  primes  code-golf  sequence  kolmogorov-complexity  code-golf  string  ascii-art  alphabet  code-golf  math  sequence  integer  code-golf  number-theory  integer  natural-language  code-golf  date  code-golf  function  code-golf  ascii-art  code-golf  math  number-theory  primes  classification  code-golf  array-manipulation  decision-problem  matrix  code-golf  number  code-golf  code-golf  ascii-art  matrix  code-golf  string  code-golf  sequence  base-conversion  code-golf  code-golf  math  number-theory  combinatorics  integer-partitions  code-golf  integer  binary  base-conversion  code-golf  integer  base-conversion  palindrome  code-golf  code-golf  integer-partitions  code-golf  math  ascii-art  matrix  code-golf  number  sequence  number-theory  matrix  code-golf  interpreter  code-golf  graph-theory  code-golf  ascii-art  decision-problem  code-golf  division  code-golf  array-manipulation  primes  code-golf  string  ascii-art  code-golf  primes  counting  code-golf  matrix  unicode  code-golf  source-layout  code-golf  grammars  code-golf  string  cops-and-robbers  regular-expression  obfuscation  string  code-challenge  cops-and-robbers  regular-expression  code-golf  kolmogorov-complexity  game  card-games  code-golf  kolmogorov-complexity  code-golf  array-manipulation  matrix  code-challenge  cops-and-robbers  code-challenge  decision-problem  cops-and-robbers  code-golf  permutations 

10
抽象書き換えチャレンジ(警官)
これはやや証拠ゴルフのような警官と強盗の挑戦です。これは警官のスレッドです。強盗のスレッドはこちらです。 警官 あなたの仕事は、ある単語から別の単語への到達可能性を判断するのが難しい抽象的な書き換えシステムを定義することです。次のものを準備します。 アルファベットと呼ばれる記号のセット。(これらには任意のUnicode文字を使用できますが、空白、または互いに区別しにくい記号を使用しないでください。) ソース文字列あなたのアルファベットからのシンボルで構成される。 ターゲット文字列あなたのアルファベットからのシンボルで構成される。 アルファベットの文字を使用した一連の書き換えルール。(書き換えルールの定義については、以下を参照してください。) 書き換えルールを連続して適用することにより、ソース文字列をターゲット文字列に変換できるかどうかを示す証明。この証明は、書き換え手順の実際のシーケンス、またはそのようなシーケンスが存在する必要があることの数学的証明、またはそのようなシーケンスが存在しないことの数学的証明で構成される場合があります。 これらの最初の4つを投稿し、証拠を秘密にします。強盗は、ソース文字列からターゲット文字列に到達できる、または到達できないという独自の証拠を提供することにより、あなたの答えを解読しようとします。提出物が2週間以内にクラックされない場合、それを安全とマークし、証拠を編集できます。 提出物は、以下に詳述するように、書き換えルールの文字数と、ソースおよびターゲット文字列に従ってスコアリングされます。勝者は、スコアの最も低い、クラックされていない提出物になります。 書き換えルールとは何ですか? 書き換えルールは、アルファベットの文字列のペアです。(これらの文字列のいずれかが空の場合があります。)書き換えルールの適用は、ペアの最初の文字列に等しいサブ文字列を見つけ、それを2番目の文字列で置き換えることで構成されます。 例でこれを明確にする必要があります。 アルファベットがAでBありC、ソース文字列は「A」です。ターゲット文字列は「C」であり、書き換えルールは A:B B:BB B:A AA:C 次に、ターゲット文字列は次の方法で到達可能です。 A B (using rule 1) BB (using rule 2) AB (using rule 3) AA (using rule 3) C (using rule 4) 得点 あなたのスコアは ソース文字列の長さ、 ターゲット文字列の長さ さらに、書き換えルールに含まれるすべての文字列の長さ、 書き換えルールごとに1ポイント追加します。 上記のようにコロン区切り文字を使用して書き換えルールを記述する場合、これはすべての書き換えルールの合計長(セパレータを含む)にソース文字列とターゲット文字列の長さを加えたものになります。スコアが低いほど優れています。あなたのアルファベットの異なる文字の数は、同数を壊すために使用され、少ないほど良いです。 バウンティ 本当に低得点になる答えを見たいです。このチャレンジで100ポイント未満で、クラックされない最初の回答に200担当者を授与します。

14
これは切り捨てられた三角形の数ですか?
関連するOEISシーケンス:A008867 切り捨てられた三角数 三角形の数の一般的なプロパティは、三角形に配置できることです。たとえば、21を取り、osの三角形に配置します。 o ああ おー おおおお ああ おっと 各角から同じサイズの三角形を切り取る「切り捨て」を定義しましょう。21を切り捨てる1つの方法は次のとおりです。 。 。。 おー おおおお 。おー。 。。oo。。 (の三角形は.オリジナルからカットされます)。 o残りは12 秒なので、12は切り捨てられた三角形の番号です。 仕事 あなたの仕事は、整数を取り、数値が切り捨てられた三角形の数であるかどうかを返す(または標準出力メソッドのいずれかを使用する)プログラムまたは関数(または同等のもの)を書くことです。 ルール 標準的な抜け穴はありません。 入力は負でない整数です。 カットの辺の長さは元の三角形の半分を超えることはできません(つまり、カットは重なり合うことができません) カットの辺の長さはゼロにすることができます。 テストケース 真実: 0 1 3 6 7 10 12 15 18 19 偽物: 2 4 5 8 9 11 13 14 16 17 20 …
20 code-golf  math  decision-problem  number-theory  integer  code-golf  number  decision-problem  functional-programming  code-golf  array-manipulation  matrix  code-golf  string  classification  string  code-challenge  binary  compression  decode  code-golf  string  string  code-challenge  balanced-string  encode  code-golf  number-theory  integer  base-conversion  code-golf  math  number-theory  geometry  abstract-algebra  code-golf  array-manipulation  sorting  optimization  code-golf  math  geometry  image-processing  generation  code-golf  string  cops-and-robbers  repeated-transformation  grammars  cops-and-robbers  repeated-transformation  grammars  code-challenge  restricted-source  tips  source-layout  javascript  code-challenge  kolmogorov-complexity  restricted-source  code-golf  combinatorics  counting  math  fastest-code  linear-algebra  code-golf  math  permutations  matrix  linear-algebra  code-golf  string  decision-problem  restricted-source  code-golf  number  array-manipulation  subsequence  code-golf  number  array-manipulation  matrix  code-golf  brainfuck  code-golf  color  code-golf  quine  source-layout  code-golf  subsequence  code-golf  string  ascii-art  code-golf  string  ascii-art  alphabet  code-golf  decision-problem  interpreter  hexagonal-grid  halting-problem  code-golf  string  polynomials  calculus  code-golf  math  decision-problem  matrix  complex-numbers  code-golf  random  code-golf  number  arithmetic 

10
昇順行列
「昇順行列」は、任意の要素がそれぞれの行と列で以前に使用されていない最小の利用可能な要素である整数の無限行列(0を含む)です。 | 1 2 3 4 5 6 ... --+---------------- 1 | 0 1 2 3 4 5 ... 2 | 1 0 3 2 5 4 ... 3 | 2 3 0 1 6 7 ... 4 | 3 2 1 0 7 6 ... 5 | 4 5 …
17 code-golf  math  matrix  programming-puzzle  code-golf  music  code-challenge  programming-puzzle  code-golf  fastest-code  code-golf  number  game  code-golf  combinatorics  code-golf  math  sequence  restricted-complexity  code-golf  number  random  code-golf  array-manipulation  code-golf  math  matrix  code-golf  number  sequence  counting  code-golf  math  number  sequence  popularity-contest  number  sequence  code-golf  music  code-golf  number  code-golf  ascii-art  arithmetic  code-golf  code-golf  number  code-golf  code-challenge  array-manipulation  code-golf  grammars  code-challenge  polyglot  code-golf  game  math  python  programming-puzzle  code-challenge  king-of-the-hill  code-challenge  fastest-code  primes  number-theory  number-theory  primes  fastest-code  factoring  popularity-contest  compile-time  code-golf  math 

1
フォローセットを見つける
以下の課題では、正式なパーサー理論に精通している必要があります。用語の意味が分からないために質問の内容がわからない場合は、多くの大学のコースで文脈自由文法とファースト/フォローセットが取り上げられています。 このスタンフォードコース、特に配布資料08と09(7ページから)をお勧めします。私はこれらの配布物からチートシートも抽出しました- この挑戦を試みる誰でもそれを読むことをお勧めします。 文脈自由文法がすべての非終端記号の次のセットを見つけるプログラムまたは関数を記述します。非形式的には、非端末の次のセットは端末のセットであり、$(入力の終わりを意味します)有効な文でその端末の後に見つけることができます。 入力は、単一の印刷可能なASCII文字列または印刷可能なASCII行の配列として与えられます。$(リテラル出力、またはセット内の文字列などとして)入力の終わりを示すために使用して、任意の妥当な形式でセットを出力できます。以下の形式に従って、入力が常に有効であると想定できます。 文脈自由文法は非常に単純化された方法で与えられます。すべての行には単一の生産が含まれます。すべての制作物は、スペースで区切られたシンボルのリストです。ターミナルは、アポストロフィで囲まれた文字列です(例:)'**'。簡単にするために、端末にスペースが含まれていないと想定することもできますが、プログラムで許可されていると便利です。非終端記号は、スペースまたはを含まない任意の文字列です$。空の生成(通常はεで示されます)は、左側の非終端のみを含む単純な行です。最初の行は、開始記号を定義するプロダクションです。 例として、次の文法: S→aSa | bSb | ε として与えられます: S 'a' S 'a' S 'b' S 'b' S 入力/出力の例: In: S 'a' S 'a' S 'b' S 'b' S Out: S {'a', 'b', $} In: S A B C A 'a' A C 'b' A B …

3
Brainfuckのビット演算子
あなたの仕事は、以下の二項演算子のそれぞれに対して1つのBrainfuckプログラムを作成することです。各プログラムは、入力から1つまたは2つの8ビット数(AおよびB)を取得し、指定された操作を計算する必要があります。 A XOR B A AND B A OR B A Shifted Left by 1 (circular shift) NOT A 5つすべてを実装する必要はありません。スコアは次の方法で計算されます。 #totalCharacters + {4000 * #problemsNotCompleted} したがって、有効なスコアはゼロ(最高)から20,000(何も完了していない)までです。 結果を保存する場所や、入力を保存するかどうかは気にしません。8ビットセル、および必要なだけの空のセルを右側にのみ想定します。 最適なメモリ位置に番号がすでにあると仮定することができるので、IO操作を心配する必要はありません。
13 code-golf  binary  brainfuck  code-golf  code-golf  ascii-art  random  code-golf  code-golf  code-challenge  sorting  code-golf  code-challenge  java  code-golf  statistics  code-golf  code-challenge  fastest-code  code-golf  math  code-golf  math  kolmogorov-complexity  code-golf  code-golf  array-manipulation  combinatorics  code-golf  kolmogorov-complexity  popularity-contest  underhanded  code-golf  math  floating-point  code-golf  interpreter  code-golf  music  code-golf  code-golf  cryptography  code-challenge  scrabble  code-golf  code-challenge  popularity-contest  quine  code-golf  quine  cryptography  code-golf  kolmogorov-complexity  code-golf  printable-ascii  code-golf  chess  code-golf  math  number-theory  code-challenge  c  code-golf  random  popularity-contest  hello-world  code-shuffleboard  code-golf  compression  grammars  code-golf  tips  code-golf  sequence  code-golf  string  code-challenge  sorting  permutations  code-golf  string  code-challenge  optimization  code-golf  interpreter  code-challenge  string  code-golf  math  number  fibonacci  string  compression  c#  code-golf  chemistry  popularity-contest  math  c  c++  java  code-golf  math  function  code-golf  complex-numbers  code-golf  geometry 

5
コンピューターがさわやかなクッキーを味わうことはありません
github.com/JackToaster/Reassuring-Parable-Generatorに触発され、次にxkcd.com/1263に触発されました。考えられる単語は、そのリポジトリのreassuring.cfgから派生しています。 reassuring.cfgを見て(12回目のコミットを使用)、出力が一致する文法を確認することをお勧めします(出力は、文法に一致するすべての文字列のリストです)。 タスク:プログラムは、pastebin pastebin.com/2SNAJ1VHに含まれる正確なテキストの大文字小文字を区別するすべての7968行を出力する必要があります。pastebinのコピーがWayback Machineに保存されます 以下は、ペーストビンからの33の動機付けされた行のサンプルです。 Computers can't enjoy a salad. Computers can't enjoy a cake. Computers can't enjoy a ice cream cone. Computers can't enjoy a meal. Computers can't enjoy a drink. Computers can't enjoy a steak. Computers can't enjoy a chicken dinner. Computers can't enjoy a piece of …

5
抽象書き換えチャレンジ(強盗)
これは、いくぶん証明的なゴルフのような警官と強盗の挑戦です。これは強盗のスレッドです。警官のスレッドはこちらです。 強盗 警官は抽象的な書き換えシステムを投稿します。あなたの仕事は、書き換えルールを適用して、ターゲット文字列にソース文字列から到達できるかどうかを証明することにより、提出をクラックすることです。(これを行うには、ソース文字列で始まりターゲットで終わる一連の書き換えルールをポストするか、これが存在するかしないかを数学的に証明します。) 詳細と定義については、警官のスレッドを参照してください。

2
文脈自由文法でデータを圧縮する
人間のテキストやソースコードなど、ある種のデータを直線的な文法で圧縮することができます。基本的には、言語が1語のみの文法、つまり非圧縮データを作成します。このタスクでは、このデータ圧縮方法を実装するプログラムを作成する必要があります。 入力 入力は65535バイト以下の文字列です。入力が正規表現[!-~]+(つまり、空白を除いた少なくとも1つの印刷可能なASCII文字)に一致することが保証されています。 入力例は abcabcbcbcabcacacabcabab 出力 出力は、正確に1つの単語(入力)を記述する文法を形成する一連のルールです。各非終端記号は、9より大きい10進数で表されます。開始記号は記号番号10です。入力例に対応する出力例を以下に示します。その構文については、以下でさらに説明します。 10=11 11 12 12 11 13 13 11 14 14 11=a 12 12=b c 13=a c 14=a b 各ルールには<nonterminal>=<symbol> <symbol> ...、右側に任意の空白で区切られた数の記号が付いた形式があります。以下の制限に従い、入力文字列を正確に導出する各出力は有効です。 制限事項 人々が奇妙なことをするのを止めるために、いくつかの制限が行われています: 各非終端記号は、ルールの右側に少なくとも2回出現する必要があります。たとえば、abcabcルール12は1回しか出現しないため、次の入力の文法は無効です。 10=12 11=a b c 12=11 11 2つの隣接するシンボルのシーケンスは、重複しない限り、すべてのルールのすべての右側に複数回出現することはできません。たとえばabcabcbc、シーケンスbcが2回出現するため、次の入力の文法は無効です。 10=11 11 b c 11=a b c 有効な文法は次のとおりです。 10=11 11 12 11=a …

1
ランダムセンテンスジェネレーター
コンテキストフリーの文法stdinと生成する文の数を読み取り、文法からその数のランダムな文を生成する任意の言語でできる限り短いプログラムを記述します。 入力 入力は次の形式になります。 n <START> {"<A>":["as<A>df","0<A>","<B><C>","A<A>", ...], "<B>":["1<C>1","\<<T>>",...], ...} n生成する文の数です。 <START>開始の非終端記号の識別子です。 文法は{}で囲まれ、次のようにフォーマットされます。 ルールは次の形式"<S>":[productions]です。 <S>非端末の識別子です。 ルールはコンマで区切られます。 ルールの右側は、二重引用符で囲まれた文字列で、最初と最後の文字はそれぞれ「<」と「>」です。残りの文字は[A-Z](大文字のアルファ)である必要があります。 productionsプロダクションを表す、二重引用符で囲まれた文字列のカンマ区切りのリストです。ルールを構成する空白文字を含むすべての文字は、終端記号です。ただし、山かっこ("<"と">")で囲まれている文字は、非終端記号であり、別のルールの左側になります。開き山かっこはエスケープできますが、終わり山かっこをエスケープする必要はありません。 プロダクションには、改行または改行エスケープシーケンスは含まれません。 出力 生成された各文をstdout末尾に改行を付けて印刷する必要があります。 テストケース 5組の括弧の組み合わせ: 5 <S> {"<S>":["<S><S>", "(<S>)", ""]} 結果の例: (())() () ()()() (())(()())((((()))()())) 4後置算術式(文字列内の空白は重要であり、他の場所では空白は重要ではないことに注意してください): 4 <S> {"<S>":["<N>", "<S> <S> <O>"], "<O>":["+","-","*","/"], "<N>":["<D><N>", "<D>"], "<D>":["1","2","3","4","5","6","7","8","9","0"]} 結果の例: 1535235 76451 + 973812 312 734 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.