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

この課題は、BF言語に関連しています。回答が特定の言語であることが必要な課題は、一般的に推奨されないことに注意してください。

24
ogl-edocfチャレンジ
入力 範囲のASCII文字で構成される空でないシャッフルされた文字列。[ 32..126 ][32..126][32..126] 出力 出力は、入力文字列に連続した回転を適用することにより取得されます。 [a-zA-Z]入力文字列の各文字()について、左から右へ: 文字が大文字の場合、その前のすべての文字を左に1ポジションだけ回転します 文字が小文字の場合、その前のすべての文字を1つ右に回転します 例 入力:「Cb-Ad」 最初の文字は「C」です。左に回転する必要がありますが、この「C」の前に文字はありません。したがって、回転するものは何もありません。 次の文字は「b」です。「C」を右に回転します。単一の文字であるため、変更されません。 文字「-」は文字ではないため、回転をトリガーしません。 次の文字は「A」です。「Cb-」を左に回転すると、「bC Ad」が得られます 4番目の最後の文字は「d」です。「b-CA」を右に回転させると、「Ab-C d」が得られます したがって、予想される出力は「Ab-Cd」です。 ルール 入力は、文字列または文字の配列として受け取ることができます。これは、言語に応じて、同じである場合とそうでない場合があります。 文字列の代わりに文字の配列を出力することもできます。 これはogl-edocf code-golfです テストケース "cbad" -> "abcd" "ACBD" -> "ABCD" "Cb-Ad" -> "Ab-Cd" "caeBDF" -> "aBcDeF" "aEcbDF" -> "abcDEF" "ogl-edocf" -> "code-golf" "W o,ollelrHd!" -> "Hello, World!" "ti HIs …
22 code-golf  string  code-golf  string  code-golf  string  parsing  brainfuck  code-challenge  python  hello-world  error-message  code-golf  string  code-golf  number  integer  counting  subsequence  code-golf  string  cipher  code-golf  array-manipulation  arithmetic  integer  matrix  code-golf  math  sequence  code-golf  restricted-source  pi  popularity-contest  cops-and-robbers  polyglot  popularity-contest  cops-and-robbers  polyglot  code-golf  file-system  king-of-the-hill  code-golf  number  sequence  integer  rational-numbers  string  code-challenge  source-layout  code-golf  ascii-art  king-of-the-hill  code-golf  array-manipulation  sorting  code-golf  string  code-golf  restricted-source  source-layout  tips  math  code-challenge  permutations  logic-gates  code-golf  number  random  integer  code-golf  math  code-golf  math  number  decision-problem  king-of-the-hill  python  board-game  code-challenge  brainfuck  busy-beaver  code-golf  number  cops-and-robbers  polyglot  obfuscation  answer-chaining  code-golf  number  integer  conversion  code-golf  string  parsing  code-golf  ascii-art  number  king-of-the-hill  javascript  code-golf  source-layout  radiation-hardening  code-golf  array-manipulation  matrix  code-golf  string  graph-theory  code-golf  array-manipulation  decision-problem  code-golf  string  ascii-art  code-golf  string  code-golf  array-manipulation 

4
Brainfuckの縮小
次のルールに従って、Brainfuckコードを最小化することが課題です。 以外のすべてを削除し+-><[].,ます。 連続した文字+または-文字のグループで、+sと-sの量が同じ場合は、それらを削除します。 上記と同じですが、>とを使用し<ます。 +-><何もしない場合は、文字のシーケンスを削除します。たとえば、を削除する必要があります+>-<->+<。(これは実装するのが最も難しく、最も難しいものかもしれません。)のような誤検知が出ないよう+>-<+>-<にしてください。 テストケース: 入力 ++++++[->++++++<]>. prints a $ [-]< resets tape >,[>,]<[.<] reverses NUL terminated input string ++-->><< does nothing 出力 ++++++[->++++++<]>.[-],[>,]<[.<] 入力 Should disappear: ++>>+<+++<->-->-<<->-< Should disappear: +++>-<--->+< Should stay: +++>-<+>---< 出力 +++>-<+>---< 必要に応じて入力と出力を受け入れることができます-stdin / stdout、関数など。ただし、入力はハードコードされない場合があります。 これはcode-golfであるため、文字数の最も短いコードが優先されます。

3
原子プロポーションのゲーム
あなたのタスクはAtomasをプレイするボットを作成し、最高スコアを獲得します。 ゲームの仕組み: ゲームボードは、6つの「原子」のリングから始まります。 1します3。原子自体に応じて、2つの原子間または別の原子上で原子を「再生」できます。 通常のアトムまたは特別なアトムを使用できます。 通常の原子: ボード上の任意の2つの利用可能な原子の間で通常の原子を再生できます。 範囲内の原子から始めます1 to 3が、範囲は40移動ごとに1ずつ増加します(したがって、40移動後に範囲は2 to 4)。 ボード上に範囲よりも低い原子がある場合1 / no. of atoms of that number on the board、スポーンする可能性があります。 2プレイする必要があるとしましょう。ボードは次のようになります。 1 1 2 1 2の右側に配置しましょう1。 ボードは次のようになります。 1 1 2 1 2 注:ボードは折り返されているので、1左端は実際には2右端のます。これは後で重要になります。 「特別な」アトムには4つのタイプがあり、それらは次のとおりです。 の +アトム: このアトムは、2つのアトム間で再生されます。産卵の確率は5分の1です。 原子の両側の+原子が同じ場合、融合が発生します。仕組みは次のとおりです。 The two atoms fuse together to create an atom …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

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 

1
ブートローダーゴルフ:Brainf ***
特定のBrainfuckプログラムを実行するブートローダーを作成します。これはcode-golfであるため、バイト数が最小のプログラムが優先されます。ブートローダーであるため、プログラムのサイズはコンパイルされたコードでゼロ以外のバイトでカウントされます。 ブレインファック 30000の8ビットオーバーフローセル。ポインターがラップオーバーします。 操作に関する注意事項: 入力は、すべての印刷可能なASCII文字が正しくサポートされるように読み取る必要があります。他のキーストロークは、任意の文字を挿入するか、まったく何もしません。 ユーザー入力の読み取りは、行バッファーではなく文字バッファーでなければなりません。 ユーザー入力を読み取るには、挿入された文字をエコーする必要があります。 出力は、コードページ437または組み込みのVGAアダプターのデフォルトコードページのいずれかに従う必要があります。 ブートローダー これはx86ブートローダーです。ブートローダーは、従来の55 AAシーケンスで終了します。コードは、VirtualBox、Qemu、または他の有名なx86エミュレーターで実行する必要があります。 ディスク 実行可能Brainfuckは、ブートローダーの直後の2番目のディスクセクターにあり、通常はMBRセクションのディスクの最初のセクターに配置されます。追加のコード(510バイトを超えるコード)は、他のディスクセクターに配置できます。ストレージデバイスは、ハードドライブまたはフロッピーディスクである必要があります。 STDIO もちろん、ブートローダーはオペレーティングシステムのIO機能にアクセスできません。そのため、テキストの印刷とユーザー入力の読み取りに代わりにBIOS機能が使用されます。 テンプレート まず、Nasm(Intel構文)アセンブリで記述された簡単なテンプレートを以下に示します。 [BITS 16] [ORG 0x7c00] ; first sector: boot: ; initialize segment registers xor ax, ax mov ds, ax mov es, ax mov ss, ax ; initialize stack mov sp, 0x7bfe ; load brainfuck …

1
トレースレスビジービーバー
それらの忙しいビーバーはすべて非常に混乱しました。彼らはテープ全体に書いた。このレートでは、私たちの隣人は私たちに無制限のテープの貸し出しを停止します。 忙しいビーバーゲームをプレイする新しい方法が必要です。これは、使用するすべてのテープを破壊するものではありません。 ルール Brainfuckのみ。メモリテープはどちらの方法でも制限されません。入力命令は常にを読み取るため、値をクリアするために使用できます。000 50バイトのソース制限。 実行の終了時には、メモリはすべてなければなりません。000 スコアは、メモリポインターの開始位置と最終位置の間の距離です。それらの間を移動するのに移動命令が必要な場合、スコアはnです。高いほど良い。可能な場合は正確な値を提供し、そうでない場合は推定値を提供します。nnnnnn 例 32バイト、2255− 12255−12^{255}-1 -[-[[>]+>+[<]>-[[>]<+<+[<]>-]]>] 説明 - Initialize the list to [255]. [ ] Repeat as long as the list is not empty. [- ] Decrement the left end. We need to shrink the numbers so it ends eventually. [ [ ] ] Skip …

3
Brainf * ckループの問題
印刷するように頼むサイバークラブの問題があります。 ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#"! '、'文字を使用せずに29バイト以下でBrainf ** kを使用します。 私は動作するコードを持っています: ++++++++++[>++++++>+++++++++<<-]>-->.<[>-.<-] ただし、ループが長すぎるため、制限を超えて16バイト送信されます。 2番目と3番目のセルを58と90に設定して、2番目のループを実行できるようにするより効率的な方法はありますか?それとも、私が見ていないだけでこれをすべて一緒に行うより良い方法がありますか?

2
ユニークな出力を持つBrainf ***サブプログラム
100バイトの長いBrainfuck(BF)プログラムを作成する必要があります。 結果の100個の新しい(99バイト長)プログラムは、可能な限りあらゆる方法で1文字削除されます。プログラムのために例えば++.>.5つのサブプログラムは+.>.、+.>.、++>.、++..と++.>。 スコアは、100個のプログラムが生成する一意の出力の数になります。スコアが高いほど優れています。 詳細 プログラムは、最初の文字を出力した後に終了します。 無効または終了しないプログラム、および空の出力を生成するプログラムは、スコアにカウントされません。 BFセルは8ビットラッピングセルです。(255 + 1 = 0、0-1 = 255) プログラムには入力がありません。,コードで使用すると、現在のセルがに設定され0ます。 開始位置の左側にセルはありません。たとえば<.、無効.<ですが、実行はで終了するため有効です.。テープは反対方向に無制限です。 不均衡な括弧([および])があるプログラムは無効です。 元のプログラムは、スコアを変更せずに100バイトに簡単に拡張できるため、100バイトより短くすることができます。 元のプログラムは有効なBFコードである必要はありません。 あなたは使用することができ、このプログラムのpython3(ideoneリンクを)あなたの答えのスコアを決定します。(長期実行プログラムの場合、maxstep変数を変更する必要がある場合があります。) 例 (簡単にするために、このプログラムは100バイトよりも短いです。) Solution: ++,+[-]+><.-,-. Score: 3 Explanation: Subprogram => Output +,+[-]+><.-,-. => 1 +,+[-]+><.-,-. => 1 +++[-]+><.-,-. => 1 ++,[-]+><.-,-. => 1 ++,+-]+><.-,-. => None ++,+[]+><.-,-. => None ++,+[-+><.-,-. => None …

28
bfcat-ファイルをbrainf ***プログラムとしてエンコードします
チャレンジ 文字列を指定して、Brainfuckとしてコンパイルおよび実行すると、その文字列を返す有効なBrainfuckプログラムを返すプログラムまたは関数を作成します。 すべての入力がASCIIとしてエンコードされていると仮定します。 出力されたBFプログラムは、無限のテープがある環境で実行されると仮定します。 ポインターがセル0から始まり、すべてのセルがゼロの値に初期化されると仮定します。 以下の各例は、指定された入力に対する1つの可能な正しい出力を表しています。特に、例には人間が読みやすいように余分な改行とスペースが含まれています。ソリューションは、出力されたBFコードを任意の方法でフォーマットできます。 テープは二重に無限です。 インタープリターによって提供されるすべてのセルは、正確に8ビットのセルです。オーバーフローとアンダーフローは、予測可能で健全な問題に包まれます。 例 スペース文字列 入力が与えられると、プログラム/関数は以下を返すことができます: +++++ +++++ +++++ +++++ +++++ +++++ ++ . 感嘆符 入力が与えられると、!プログラム/関数は以下を返すことができます: +++++ +++++ +++++ +++++ +++++ +++++ +++ . 二文字 入力が与えられると、hiプログラム/関数は以下を返すことができます: +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ +++++ …

9
Brainfuckトランスレーターを書く
任意のプログラミング言語またはスクリプト言語xで、有効なBrainfuckソースコードをstdinから取得し、brainfuckプログラムとまったく同じ結果を出力する言語xで記述されたプログラムのソースコードをstdoutに出力するプログラムを作成します。 プログラムは、空のファイルを含む、有効なブレインファックプログラムで動作する必要があります。 スコアは、ソースコードのバイトカウントと、次の入力が与えられた場合の出力のバイトカウントに等しくなります。 +++++ [-] +++++ +++++ [ > +++++ ++ > ++ +++ ++++ + > +++ <<< - ] > ++ . H > + . e ++ +++ ++. l . l +++ . o > ++ . space < +++++ +++ . w ----- --- . …

4
FractranをBrainfuckに変換する
バックグラウンド Fractranは、John Conwayによって発明された難解なチューリング完全プログラミング言語です。Fractranプログラムは、分数の順序付きリストで構成されています。プログラムは、入力として単一の整数を取ることから始まります。プログラムの各反復で、最初の分数をリストで検索し、その分数で数値を乗算すると別の整数が生成されるようにします。次に、リストの先頭から新しい番号でこのプロセスを繰り返します。リストに数値と乗算できる分数がない場合、プログラムは終了し、数値を出力として提供します。 Fractranがチューリング完全である理由は、レジスタマシンをシミュレートするためです。数値の素因数分解はレジスタの内容を保存しますが、除算と乗算は条件付きでレジスタを加算および減算する方法です。ウィキペディアの記事(上記にリンク)を読むことをお勧めします。 チャレンジ あなたのタスクは、STDINから有効なFractranプログラムを唯一の入力として取得し、Fractranプログラムをシミュレートする有効なBFプログラムをSTDOUTに生成する、可能な限り最短のプログラムを作成することです。BFを使用してFractranプログラムをシミュレートする方法は2つあります。 注:あなたの答えはBFプログラムではありません。答えは、特定のFractranプログラムからBFプログラムを生成するコードです。目標は、BFプログラムをFractranプログラムと同等にすることです。(技術的にはBFで競争することができますが、難しいでしょう) オプション1 プログラムは、次のことを行うBFプログラムを出力する必要があります。 対応するASCII文字(BF入力の動作方法による)の形式で、STDINから正確に1つの番号を取得します。これは、Fractranプログラムへの入力です。 対応するASCII文字の形式でSTDOUTに正確に1つの数字を出力します。これはFractranプログラムからの出力です。 このオプションは、Fractran仮​​想マシンからの正確な入力と出力を表すことを目的としています。 オプション2 プログラムが生成するBFコードは次のことを行う必要があります。 (プログラムを実行する前に)メモリに既にエンコードされている数の素因数分解を行うことにより、入力を取得します。入力が28(2 * 2 * 7)の場合、2番目のセルに値2があり、7番目のセルに値1があります(ポインターはセル0から始まります)。他のすべてのセルはゼロになります。 プログラムの終了時に、出力の素因数分解をメモリにエンコードすることにより、出力を提供します。出力が10の場合、セル2と5のそれぞれに値1がなければなりません。他のすべての素数のセルの値はゼロでなければなりません。他のセルの内容は関係ありません。 このオプションは、Fractran言語の背後にあるコンピューティングモデルを表します。 ルールと要件 入力(プログラムの上部)は、STDINの分数のリストになります。分子と分母の間にコンマがある行ごとに1つの小数があります。空行は入力の終わりを表します。端数は常に最低の項に削減されます。 プログラムの出力は、STDOUTに対する単一行の有効なBFプログラムでなければなりません。このプログラムは、2つのオプションのいずれかに従って、特定のFractranプログラムをシミュレートできる必要があります。入力については、生成されたBFプログラムはFractranプログラムと同じ出力を生成できるはずです。 選択したオプションを指定する必要があります。 BFメモリとテープの境界、およびそれらがラッピングしているかどうかを選択できます。 コードゴルフ。また、出力されるBFプログラムのサイズは重要ではなく、変換を行うプログラムのサイズのみが重要です。 プログラムは印刷可能なASCIIのみで構成する必要があります 私がどこでもあいまいな場合は、askすることをaskしないでください。これは説明するのが非常に複雑な課題です。 さらに、プログラムが動作しているかどうかを簡単に確認できるように、次の入力用にプログラムで生成されたBFコードを投稿してください。 33,20 5,11 13,10 1,5 2,3 10,7 7,2 このプログラムは、数値のバイナリ展開で1の数を計算します。ただし、入力と出力は奇妙な形式になっています(すべてのFractranプログラムと同様)。入力の形式は2 ^ Aで、出力の形式は13 ^ Bです。

1
2つの時間ディメンションでのプログラミング
この世界にたった1つの時間次元があるのはおかしい事故ですが、そうである必要はありません。2つ以上の時間ディメンションを持つ世界を想像するのは簡単です。これらの世界では、この世界のように、コンピューターを構築してソフトウェアを実行できます。 システム これは、2つの時間ディメンションでBrainf * ckプログラムを実行するためのシステムです。 2つの時間ディメンションはxとyです。各Brainf * ckプログラムは、x半プログラムとy半プログラムで構成されます。たとえば、プログラムは x: +>+ y: [-] 2つのハーフプログラムにはそれぞれ独自のプログラムポインターがありますが、1つのテープポインターを共有します(つまり、両方がテープの同じセルで動作します)。 時間は2次元なので、モーメントのグリッドで構成されます。 x次元に沿って移動すると、xハーフプログラムは1つのタイムステップを実行します。y次元に沿って移動すると、yハーフプログラムは1つのタイムステップを実行します。 したがって、たとえば、テープが[0] 0 0([]テープポインタを表す)として始まり、x / yプログラムが+andであるとしましょう->-。このプログラムの実行は次のようになります。 x y tape x-action y-action 0 0 [ 0] 0 0 + at 0 - at 0 1 0 [ 1] 0 0 (done) - at 0 0 1 [-1] …

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

19
Brainfuckプログラムを確認する
さらに別のBrainfuck解析問題ですが、今回は...異なります。 あなたはさまざまな興味深い問題を解決するためにBrainfuckプログラムを作っているInfinite Monkeys Incorporatedで働いています(偶然にも、結局のところ、会社はランダムなプログラムを作っています)。ただし、Brainfuckのみを実行する高速チューリングマシンには、構文エラーに関する小さくて高価な問題があるようです。1つを作成すると、コンピューターが爆発します。それはおそらく設計上の欠陥かもしれませんが、それがなぜ起こるのかわからない人はいませんでした。 チューリングマシン(特に高速なマシン)は高価なので(結局、無限のRAMが必要です)、コードを実行する前にプログラムに構文エラーがないことを確認した方が良いでしょう。会社は大量のコードを実行するため、手動検証は機能しません。BrainfuckコードのSTDINを読み取るプログラムを作成し、プログラムに構文エラーがある場合(たとえば、]一致しないため構文エラーである場合)、終了ステータスを0(エラー)以外に設定して終了します[。プログラムが完全に正常であれば、終了ステータスを0に設定して終了します。 プログラムがを含む間違いを正しく認識していることを確認してください[]。別のコンピューターを爆発させたくないでしょうか?ああ、それができる限り短いことを確認してください-あなたのボスは短いプログラムの代金を払っています(彼は彼らが速いか何かを考えているからです)。ああ、Brainfuckでコーディングする必要はありません(実際、Brainfuckは終了コードをサポートしていないため、できません)-コードは通常のコンピューターで実行されます。 したがって、ご覧のとおり、あなたの仕事はBrainfuckプログラムが「有効」である(ペアの[]シンボルがある)かどうかを確認することです。Brainfuckプログラムには以外の文字を使用できる[]ため、他のコマンドがあるという理由だけでプログラムを拒否しないでください。最小のコードが勝ちますが、おそらくあなたはとにかくupvotesにもっと関心があるでしょう。

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