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

3
64ビット整数の因数分解
書き込みゴルフ STDOUT上の末尾の改行に続く(最後の改行が続く)標準入力から整数を読み取り、出力の素因数は改行で区切らアセンブリプログラムを、。 素因数は特定の順序である必要はありません。1素因数ではありません。 あなたのゴルフ(組み立て後)バイナリが8192バイトに収まらなければなりません。 プログラムは、それぞれ次の入力のいずれかを使用して10回実行することによりスコアリングされます。 8831269065180497 2843901546547359024 6111061272747645669 11554045868611683619 6764921230558061729 16870180535862877896 3778974635503891117 204667546124958269 16927447722109721827 9929766466606501253 これらの数字は、難易度の観点から大まかに分類されています。最初のものは、試行分割によって簡単に解決できるはずです。 この数字のセットに対する最適化は、質問の精神に反します。数字のセットはいつでも変更できます。プログラムは、これらだけでなく、任意の正の64ビット入力番号に対して機能する必要があります。 スコアは、上記の数値を因数分解するために使用されるCPUサイクルの合計です。 GOLFは非常に新しいため、ここにいくつかのポインターを含めます。あなたは読むべきGOLFのすべての命令およびサイクルコストと仕様を。Githubリポジトリのサンプルプログラムにあります。特に、入力/出力を示す階乗のサンプルプログラムを見てください。 を実行して、プログラムをバイナリにコンパイルしますpython3 assemble.py your_source.golf。次に、を使用してプログラムを実行するとpython3 golf.py your_source.bin、サイクルカウントも出力されます。-dフラグを使用--helpして、プログラムの終了時にレジスタの内容の値を確認します- すべてのフラグを確認するために使用します。

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 

4
数値が正方形かどうかをテストする
レジスタに64ビット符号なし整数を指定してGOLFアセンブリプログラムを作成します。これは、正方形の場合はnレジスタにゼロ以外の値を入れ、それ以外の場合はに入れます。sn0s あなたのゴルフ(組み立て後)バイナリが4096バイトに収まらなければなりません。 プログラムは、次のPython3プログラム(GOLFディレクトリ内に配置する必要があります)を使用してスコア付けされます。 import random, sys, assemble, golf, decimal def is_square(n): nd = decimal.Decimal(n) with decimal.localcontext() as ctx: ctx.prec = n.bit_length() + 1 i = int(nd.sqrt()) return i*i == n with open(sys.argv[1]) as in_file: binary, debug = assemble.assemble(in_file) score = 0 random.seed(0) for i in range(1000): cpu = golf.GolfCPU(binary) if …

2
ゴルフCPUゴルフチャレンジ:プライムパーティション
この課題は、GOLF CPUに書き込まれるべき一連の最も少ない操作の問題の最初のものです。ここで次のものを見つけることができます 数字のパーティションN、は、合計される数字のリストですN。プライムパーティションはまで追加素数のリストですN。 このチャレンジでは、単一の整数が与えられますN ≥ 2。の最短の素数パーティションを生成する必要がありNます。複数の可能なパーティションがある場合、それらのいずれかを印刷できます。 例: 9: [2, 7] 12: [5, 7] 95: [89, 3, 3] 337: [337] 1023749: [1023733, 13, 3] 20831531: [20831323, 197, 11] プログラムはGOLF CPUで作成する必要があります。入出力には、STDIOまたはレジスタを使用できます。リストは任意の順序にすることができ、STDOUTを使用している場合は、空白またはカンマで区切ることができます(括弧は不要です)。明らかに、ソリューションのハードコーディングは許可されておらず、最初のいくつかの素数以上のハードコーディングも許可されていません。 これは最も少ない操作の問題であるため、上記の例を最小限のサイクルで解決する答えが勝ちです!
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.