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

メタゴルフはメタプログラムの出力を利用しています。メタプログラムは、特定のタスクを解決するプログラムを生成し、その出力の長さが元のプログラムのスコアを決定します。

12
そして、すべての人々が言っ​​た...
目的文字[またはを含まないテキストの入力を前提として]、次のアクションを実行します。 すべてのインスタンスのためのAmen少なくとも一つの大文字で(そのすべてのインスタンスAmenを除くamen)、同じことを出力Amen(時価総額を保持)。 /all the people said[?: ]/i(正規表現である)のすべてのインスタンスに対して、出力も行いますAmen(どんな場合でも問題ありません)。 すべての出力の後に、改行、スペース、無などの定数セパレーターを選択できます。 これはcode-golfであるため、バイト単位の最短プログラムが優先されます。 IOの例 Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah blah blah* And all the people said? Output: …

6
Brain-Flakへのテキスト
あなたの課題は、入力テキストを、テキストを出力するBrain-Flakコードに変換することです。 ここから許可を得てここから取られたチュートリアル Brain-Flakには、「左」と「右」として知られる2つのスタックがあります。アクティブなスタックは左から始まります。空のスタックがポップされると、0が返されます。それだけです。他の変数はありません。プログラムが起動すると、各コマンドライン引数がアクティブスタックにプッシュされます。 Brain-Flakプログラムで有効な文字はのみ()[]{}<>であり、常にバランスが取れている必要があります。関数にはNiladsとMonadsの 2種類があります。niladは 0の引数をとる関数です。すべてのniladsは次のとおりです。 () 1に評価します。 [] 現在のスタックの高さを評価します。 {}アクティブなスタックをポップします。ポップされた値を評価します。 <>アクティブなスタックを切り替えます。ゼロに評価します。 これらは評価されるときに連結されます。したがって、アクティブスタックの上に「3」がある場合、このスニペットは次のとおりです。 ()(){} するために評価されます1 + 1 + active.pop()5と評価されることになります。 モナドは1つの引数、Brain-Flakコードの塊を取ります。すべてのモナドは次のとおりです。 (n) アクティブなスタックで「n」を押します。 [n] 負の「n」に評価します {foo} スタックの先頭にゼロはありませんが、fooを実行してください。 <foo> fooを実行しますが、0として評価します。 これらの関数は、内部の値も返すため、 (()()()) 3をプッシュしますが、 ((()()())) 3を2回押します。 {}すべてのランの合計に評価します。したがって、スタックの一番上に「3」と「4」がある場合: {{}} 7と評価されます。 プログラムの実行が完了すると、アクティブなスタックに残っている各値が改行を挟んで印刷されます。他のスタックの値は無視されます。 ルール Brain-Flakはascii outで実行されていると仮定できます。(-A) brain-flakコードは入力を要求してはいけません すべての標準ルールが適用されます TIOで最大1024バイトの入力がある場合、コードは1分以内に実行する必要があります。(TIO出力が利用できない場合、インタープリターを提供し、マシンで実行します(マシンはTIOに近づくことができるはずです))。 任意の長さの入力をサポートする必要があります。 ファイルから入力を取得できます。 テストケースの最適化は許可されていません 確定的な出力が必要です プログラムはスタッククリーンである必要はありません テストケース(これらのコードを試してください。実際のスコアテキストは、チャレンジが投稿されてから1〜2週間後にリリースされます) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz …

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ここで、フィボナッチ積を上記と同じリストと呼びますが、加算は乗算に置き換えられます。たとえば、f(100) = 89 * 8 * 3 = 2136。 正の整数nを指定して、その数のフィボナッチ積を返すプログラムまたは関数を作成します。 テストケース: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

3
自動メタコードゴルフ
あなたはすべてのcodegolfの課題にうんざりしています。そのため、Pythonコードを自動的にゴルフするプログラムを作成することにします。3つのテストケースがあります。 print quickSort([0,7,3,-1,8,10,57,2]) def quickSort(arr): less = [] pivotList = [] more = [] if len(arr) <= 1: return arr else: pivot = arr[0] for i in arr: if i < pivot: less.append(i) elif i > pivot: more.append(i) else: pivotList.append(i) less = quickSort(less) more = quickSort(more) return less + pivotList …
13 python  metagolf 

3
組み合わせの難問!
はじめに:組み合わせロジック 組み合わせロジック(CL)は、基本的に関数であるcombinatorsと呼ばれるものに基づいています。2つの基本的な「組み込み」コンビネータとがSありK、これについては後で説明します。 左結合性 CLはleft-associativeです。これは、CL を含む別のブラケットの一番左にあるブラケット(スタッフを含む)を削除し、スタッフを解放できることを意味します。たとえば、次のようなものです: ((a b) c) に減らすことができます (a b c) どこ(a b)より大きなブラケットの一番左にある((a b) c)ので、それを除去することができます。 左結合のはるかに大きな例(角括弧は説明です): ((a b) c ((d e) f (((g h) i) j))) = (a b c ((d e) f (((g h) i) j))) [((a b) c...) = (a b c...)] = (a b c (d …

1
数学メタゴルフマニア!
Mathemaniaの仕様: Mathemaniaコードのすべての部分は、数字で始まり2ます。から、2次の操作を実行できます。 e:べき乗。このコマンドのデフォルトは、2乗です。 f:階乗。このコマンドのデフォルトでは、数値に単一の階乗(using f on 2 = 2! = 2)が使用されます。 r:ルート。このコマンドのデフォルトは、数値の平方根です。 c:天井機能。 l:フロア機能。 Mathemaniaで数値を生成するには、これらのコマンドを文字列にまとめる必要があります。これらのコマンドは、数値に対して左から右に実行されます2。 例: ef = (2^2)! = 4! = 24 rl = floor(sqrt(2)) = floor(1.4...) = 1 er = sqrt(2^2) = sqrt(4) = 2 efrrc = ceil(sqrt(sqrt((2^2)!))) = ceil(sqrt(sqrt(24))) = ceil(sqrt(4.89...)) = ceil(2.21...) = 3 e、fおよびrコマンド(これもで始める余分Mathemaniaコマンドによって変更することができる2改変された機能の後にブラケットを配置し、その内部Mathemaniaコマンドを配置することによって、異なる累乗、階乗と根を生成するために、その「ベース」数として)。 たとえば、代わりにそれを乗の数をキューブに、あなたがのためにコマンドを入れることができ3た後にeそうように: …
12 math  metagolf 

6
可能な限り少数の異なる文字でプログラムをエンコードし、
目標は、できるだけ少ない文字で他のプログラム(入力)をエンコードするプログラムを作成することです。 得点 スコアは、出力に必要な異なる文字数に等しくなります。 スコアが低いほど優れています。 ルール 限られたコマンドセットを持つターゲット言語はありません。(Brainf ** k、ホワイトスペースなどはありません) 編集:私は少なくとも26人の重要なキャラクターを意味しAますが、brainf ** kプログラムの動作は変わらないので、このキャラクターを数えることはできません。空白についても同様です。 この質問が書かれている時点で、ターゲット言語が存在する必要があります。 スコアをアーカイブする方法について、簡単な説明を含める必要があります。 入力プログラムは有効です。 エンコードされたプログラムは、入力と同じ言語の有効なプログラムでなければなりません。 エンコードされたプログラムは、元のプログラムと同じジョブを実行する必要があります。 エンコーダは、その言語のすべての有効なプログラムで動作する必要があります。 サンプルの入力と出力を含めます。 ノート エンコーダーは、ターゲットとする言語だけでなく、任意の言語で作成できます。 これはcode-golfではなく、読み取り可能なプログラムが推奨されます。 大きな目標は、その言語で何かを書くために必要な文字数を確認することです。私はBFなどを拒否しました。なぜなら、挑戦がないからです。 これは、できるだけ少ない文字数で文字列を印刷することに触発されたもので、その質問のメタゴルフとみなすことができます。 例 Javaでは、\uXXXX代わりに他の文字を使用できます。有効なエントリは、この方法で入力からすべての文字をエンコードします。これは18のスコアになります。(\ 0-9a-f) Tclのコードは、Javaプログラムをエンコードします。 set res {} foreach char [split [read stdin] {}] { append res [format \\u%04x [scan $char %c]] } puts $res

4
BrainfuckでURLをエンコードする
この質問に触発されて、今日の目標はbrainfuckでURLをエンコードすることです。 ブラウザがハッキングされました!ロケーションバーはブレインファックインタープリターに変わりました。URLをブレインファックプログラムに変えるプログラムが必要です。私のコンピューターも非常に遅いので、brainfuckプログラムが小さければ良いです。 ああ、私の作業中のタブは1つしか開いていません。そのため、プログラムはツイートでのみ送信できます。 入力として文字列を受け取り、brainfuckプログラムを出力する任意の言語で、ツイート(140文字)に適合するプログラムを作成します。 このBrainfuckプログラムは、入力なしで実行され、出力を生成します。 この出力は、Google Chromeのロケーションバーに挿入され、実行されます。 Google Chromeの動作が#1から入力文字列を入力することで得られる動作と同じ場合、ソリューションは有効です。URL短縮サービスによるリダイレクトは異なる動作と見なされます-少なくとも同じドメインにとどまります。 Brainfuckインタープリターには、各セルに無限精度の符号付き整数があり、セルの数に制限がないと仮定できます。 スコアは、次のURLセットをエンコードするために生成されたBrainfuckプログラムの長さの合計によって決まります。 https://www.google.com/ /codegolf/47895/ http://www.golfscript.com/golfscript/examples.html http://en.wikipedia.org/wiki/Percent-encoding ftp://ftp.freebsd.org/pub/FreeBSD/ https://github.com/isaacg1/pyth/blob/master/doc.txt#L92 http://ftp.gnu.org/non-gnu/nethack/nethack-3.4.0.tar.gz.back-RSN.README 最小スコアが勝ちます。

8
指定された長さの文字列を出力するBrainf_ckプログラムを生成します
あなたの友人は、独特のロックシステムを備えた金庫に侵入しようとしています。特定の場所で一定数の穏やかなノックが必要です。あなたの友人は番号(1〜99999の範囲)を発見し、必要なノックを生成するガジェットを所有しています。ただし、ガジェットはBrainfuckインタープリターです!したがって、友人はBrainfuckプログラムをフィードする必要があります。これは、明らかに、可能な限り短くする必要があります(ガジェットのI / Oが遅い)。 あなたの仕事は彼を助けることです!入力として数値を受け入れ、入力を受け付けNず、印刷可能なASCII文字の文字列を出力するBrainfuckプログラムを出力するプログラムまたはサブルーチンを任意の言語で記述します(スペース文字を除く-範囲33のコード... 126)の長さN。 例:入力の10場合、出力は +++++++++++++++++++++++++++++++++.......... (しかし、短縮できると確信しています!) スコアは、次の値の出力の長さの合計になりますN(これらは乱数です)。 55 68 15 28 841 838 522 846 4898 9004 9363 3810 13230 67175 37231 44701 ああ、あなたはあなたのコード(ジェネレータープログラム)をあなたの友人にTwitterで送信します。140文字以下であることを確認してください! PS Brainfuck言語には多くのバリアントがあります。テープが両方向に無限(または「円形で十分な大きさ」)で、セルに32ビットのint容量(有限で最大99999の数値を保持できる)があると仮定しましょう。また、ラッピングなし:セルがオーバーフローすると、マシンは自己破壊します!

3
99ですべてのASCII文字をゴルフ
99は、チャレンジのために今週初めに発明したプログラミング言語です。99のインタープリターを作成します。(発明されましたが、半ダースのおかげで実装する必要はありませんでした。))完全な言語仕様がその課題にあるため、ここですべてを再投稿することはありません。 では99あなたは、個々の印刷できるASCIIの stdoutに文字を、しかし、言語の制約のため、簡潔できるだけ特定の文字を印刷する方法を必ずしも明確ではありません。 128個のASCII文字のそれぞれについて、入力を一切行わず、その唯一の文字を出力する99プログラムを作成します。これらの回答の一部またはすべてを手作業でコーディングするか、別のプログラムを(好きな言語で)作成して生成することができます。 128 99の各プログラムの文字の合計がスコアです。最も低いスコアが勝ちます。改行は1文字としてカウントされます。 99では、9999出力ASCII文字(奇数サイズの変数は整数を出力)のようなサイズの変数のみを思い出してください。それらの値は9で除算され、mod 128で取得されるため、ASCII文字にマップするために値が特定の範囲内にある必要はありません。たとえば、内部値297、1449、および-855はすべて文字に対応し!ます!。これは、9で割ってmod 128を取得すると、すべて33になり、これがの文字コードであるためです。 99のインタープリターが必要な場合は、MacのPythonの回答をお勧めします。 次の挑戦はもっとインタラクティブになると言ったのは知っていますが、私はまだその課題に取り組んでいます。

1
自己表示画像[終了]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 11ヶ月前に閉鎖。 バックグラウンド 自己解凍.ZIPファイルがあります。通常は拡張子.EXEが付きます(抽出されるファイルを実行することにより)が、名前をに変更すると.ZIP、いくつかのZIP解凍ソフトウェアでファイルを開くことができます。 (.EXEファイルには特定のヘッダーが.ZIP必要ですが、ファイルには特定のトレーラーが必要であるため、これは可能です。.EXEヘッダーと.ZIPトレーラーの両方を持つファイルを作成することは可能です。) あなたのタスク: 「自己表示」イメージファイルを作成するプログラムを作成します。 プログラムは、64x64の画像(少なくとも4色がサポートされている)を入力として受け取り、「結合された」ファイルを出力として受け取ります。 プログラムの出力ファイルは、一般的な画像ビューアによって画像ファイルとして認識されます。 画像ビューアで出力ファイルを開くと、入力画像が表示されます 出力ファイルは、任意のオペレーティングシステムまたはコンピュータータイプの実行可能ファイルとしても認識されます。 (一般的でないオペレーティングシステムまたはコンピューター用のファイルが作成された場合、オープンソースのPCエミュレーターが存在していると便利ですが、これは必須ではありません。) 出力ファイルを実行すると、入力画像も表示されます ファイルの名前を変更する必要があります(たとえば、.PNGから.COM) プログラムとその出力ファイルを同じOSで実行する必要はありません。このプログラムは、たとえば、Windowsプログラムと、Commodore C64で実行できる出力ファイルです。 受賞基準 生成するプログラムの最小出力ファイル勝利を 出力ファイルのサイズが入力画像によって異なる場合(たとえば、プログラムが画像を圧縮するため)、最大 4色の64x64画像を表すプログラムによって作成された最大の出力ファイル数 ところで StackOverflowでこの質問を読んだとき、私は次のプログラミングパズルのアイデアを思いつきました。

11
N回目のプログラムのN回
A入力として正の整数の配列が与えられた場合、何度も繰り返されると、配列kのkth(1-index)値を出力するプログラムを生成します。 たとえば、配列がの[1,11]場合、出力はを出力するプログラム1であり、2回繰り返すと出力されます11。print(end="1");Python 3のようなコードは動作します:print(end="1");1をprint(end="1");print(end="1");出力し、11 を出力します すべてのテストケースを解決するための最小コード長の合計が勝利します。メタコードは60秒で500のテストケースを解決し、各ソリューションコードは10秒で返されるはずです。メタコードとソリューションコードは同じ言語である必要はありませんが、メタプログラムが生成するすべてのソリューションは同じ言語である必要があります。 プレテストデータとジェネレーターはここで見ることができます。7日後、提出時間の合計(12:34平均1234など)をランダムシードとして使用し、最終的なテストケースとして別のテストケースを生成します。 最終シードはGMT + 8で7335なので、最終テストデータはこちら

3
ランダム化されたBrainfuckコンパイラ
Joeは平均的なBF開発者です。彼は上司から電話を受けたときに、リポジトリへのコードの変更をチェックインしようとしています。「ジョー!新しいクライアントのマシンが壊れています!ブレインファックインタープリターは、プログラムの実行前にすべてのセルをランダムな値に設定します。修正する時間がないので、コードで処理する必要があります。」ジョーはそれについてはあまり考えていません。上司が再び彼に割り込んだときに、最初の100万個のセルをゼロに設定するプログラムを書こうとしています。できるだけ小さくしてください。」今、あなたは貧しいジョーを助けなければなりません! 仕様書 あなたは入力としていくつかの有効なbrainfuckコードを取得します プログラムはコードを変更して、ランダム化されたbrainfuckインタープリターで機能するようにします つまり、プログラムを実行する前に、セルを任意の値に設定できます。 新しいプログラムは、初期条件に関係なくまったく同じ動作をする必要があります。 インタープリターは、ラッピングを含む最大セル値が255で、テープの長さが無限になります。 得点 あなたのスコアは、10回のバイト単位でのコンパイラのサイズに加えて、テストケースのサイズの合計。最も低いスコアが勝つことは明らかです。テストケースの最適化を緩和するために、疑わしい場合はテストケースを変更する権利を留保しており、おそらく勝者を選ぶ前に変更します。 テストケース (私はesolangsページとこのWeb ページからこれらを入手しました:http : //www.hevanet.com/cristofd/brainfuck/)。最後のテストケースについては@Sparrにも感謝します。 こんにちは世界: ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. 逆入力: >,[>,]<[.<] 2の累乗(無限ストリーム): >++++++++++>>+<+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<]>.>[->[ <++>-[<++>-[<++>-[<++>-[<-------->>[-]++<-[<++>-]]]]]]<[>+<-]+>>]<<] 10000未満の正方形: ++++[>+++++<-]>[<+++++>-]+<+[>[>+>+<<-]++>>[<<+>>-]>>>[-]++>[-]+>>>+[[-]++++++>>>]<<<[[<++++++++<++>>-]+<.<[>----<-]<]<<[>>>>>[>>>[-]+++++++++<[>-<-]+++++++++>[-[<->-]+[<<<]]<[>+<-]>]<<-]<<-] フィボナッチストリーム: >++++++++++>+>+[[+++++[>++++++++<-]>.<++++++[>--------<-]+<<<]>.>>[[-]<[>+<-]>>[<<+>+>-]<[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>+<-[>[-]>+>+<<<-[>+<-]]]]]]]]]]]+>>>]<<<] 入力までのASCIIシーケンス:(,[.[>+<-]>-]これは入力に基づいてさまざまなセル番号を必要とします)

2
1000の最も一般的な単語
この質問は、「物事の説明者」が楽しく読めるから書いてありました。 文字、数字、およびこのようなもののセットを読み取り/受け取り、すべての単語がこのセットの一部である場合に"#%|?戻る「コンピュータに物事を実行させるもの」を記述します。True / 1 すべての単語がそのセットの一部ではない場合、そのセットの一部ではなかった単語を返します。 このウェブサイトは、すべての場合において正しいと見なすことができます。ルールはそのサイトの仕様に従うように書かれています。 例: Truthy: 最初の水平線より上のテキスト全体が入力として貼り付けられている場合、コードは真の値を返す必要があります。 次の行は真の値を返します(入力はで区切られています###) This returns "Hello, World!" ### tHiS rEtUrNs TrUe... ### Thing Explainer is a book written by a man. The man writes books with simple words. ### This set of stuff "#!^{>7( must return true 偽り: 次の例では、入力と出力はで区切られてい***ます。異なるテストケースはで区切られ###ます。 This code doesn't return …
9 code-golf  string  parsing  code-golf  array-manipulation  random  permutations  code-golf  string  code-golf  parsing  code-golf  string  quine  code-golf  string  parsing  comment  code-golf  string  counting  natural-language  code-golf  string  decision-problem  code-golf  math  code-challenge  metagolf  test-battery  code-golf  string  code-golf  math  number  arithmetic  source-layout  code-golf  number  primes  decision-problem  code-golf  math  arithmetic  code-golf  date  code-golf  string  cryptography  code-golf  code-golf  chess  board-game  code-golf  geometry  grid  puzzle-solver  set-partitions  code-golf  number  natural-language  code-golf  ascii-art  code-golf  math  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  string  natural-language  code-golf  game  board-game  tic-tac-toe  code-golf  ascii-art  hexagonal-grid  code-golf  string  comment  code-golf  internet  code-golf  sorting  code-golf  kolmogorov-complexity  unicode  code-golf  tips  code-golf  string  natural-language  code-golf  string  kolmogorov-complexity  source-layout  hello-world  code-golf  string  kolmogorov-complexity  counting  natural-language  code-golf  random  quine  code-golf  string  math  bitwise  code-golf  permutations  code-golf  string  code-golf  arithmetic 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.