Questions tagged «code-generation»

对于希望答案产生代码的挑战。

8
将大括号转换为右手括号(Sad Brace)
右括号是一种代码括弧式,其中花括号和分号都对齐到文件右侧的单个点。 通常,出于多种原因,这被认为是不好的做法。 挑战 通过任何方法获取多行字符串,并将其花括号样式转换为Right Hand Brace。 对于这个挑战,您只需要它就可以在Java代码上工作,但是,从理论上讲,它应该可以在使用花括号和分号的任何代码上工作。 您必须{};连续抓取所有字符,它们之间必须有任意空格。例如。}},; } }\n\t\t}和,并通过使用空格将它们排列在文件的右侧。 例如: a { b; {c 应该成为 a { b ;{ c 或者,更抽象地说,将所有空格从所有字符的左侧推{};到右侧。 线的缩进应另作保留。字符移动后仅包含空格的行{};可以有选择地删除。 例如: a{ b{ c; } } d; 可能成为 a { b { c;}} d ; 要么 a { b { c;}} d ; 向右推是指所有{};字符对齐到不短于最长行的点。之后的任何空间都可以接受。 因此,以下所有内容都是可以接受的: a { …

7
生成Brainf *** NOP
有时,在编写脑力激荡的代码时,您会感到需要使其长度超过鼓励调试的时间。您可以通过><在其中放一个来做到这一点,但是那有什么乐趣呢?您将需要更长或更短的NOPey,以使任何人都无法阅读您的代码。 快速入门Brainfuck Brainfuck是UrbanMüller于1993年创建的一种深奥的编程语言,以其极简主义而著称。(维基百科) Brainfuck是一种基于八种命令的语言:+-><,.[]。该代码在图灵机之类的东西上运行:可以在上面更改值的无限磁带。在此挑战中,我们将重点关注前四个: + increment the value at the pointer - decrement the value at the pointer > move the pointer right < move the pointer left 脑干NOP 脑干NOP是一系列脑干角色,当从任何状态执行时,脑筋都不会改变状态。它们由上述四个字符组成。 挑战 面临的挑战是编写一个程序或函数,当执行该程序或函数时,将生成给定长度的随机性NOP。 输入项 您将收到一个非负偶数整数作为输入n。(NOP不可能是奇数n。) 输出量 您将输出一个长度为的随机性NOP n。 规则 NOP的定义:在将程序的输出插入到Brainfuck程序的任何位置时,该程序的行为不得以任何方式改变。换句话说,它不得更改解释器的状态。 请注意,例如+>-<,这是不正确的,因为它更改了两个单元格的值而没有将它们改回来。发布前,请先测试您的解决方案。 另请注意,这+>-<->+<是一个NOP,仅通过删除就不能将其减少为零>< <> +- -+。因此,您不能使用仅将它们彼此插入的算法。 长度的每个有效NOP n必须有非零的机会出现在输出中。但是,分布不必一定是统一的。 讨论中的“脑干”解释器具有无限精确的任意精确细胞带。也就是说,您可以无限地向两个方向移动,并无限地增加/减少每个单元格。 该程序必须在1分钟内在n我的计算机上完成= 100,因此不能生成所有可能的NOP并选择一个。 如果输入的内容无效(非整数,负数,奇数等),则可以执行任何您想做的事情,包括崩溃。 …

10
链接程序
挑战 在这个挑战中,您将编写无限个程序序列的第一个程序p 1,其中运行p n输出/生成程序p n + 1。当连接前n> = 2个程序时,该序列应输出n。 例 假设前四个程序是: p1 p2 p3 p4 如果要运行p1,它应该输出: p2 如果要运行p1p2,它应该输出: 2 如果我要运行p1p2p3p4它,应输出: 4 如果要运行p4,它将按顺序生成下一个程序: p5 计分 您的分数是第一个10程序的字节数。

22
递归字符串替换
任务 编写一个程序或函数,给出给定的三个字符串A, B, C会生成一个输出字符串,其中Bin的每个实例A都已用递归替换C。递归替换表示重复替换,其中在每一步中Bin的所有不重叠实例A(从左到右贪婪地选择)都替换为,C直到B不再包含在中A。 输入输出 您可以对I / O使用任何默认方法。 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。 B永远不会是一个空字符串,而A并且C可能是。 字符串应被视为纯文本,例如,您不能将其B视为Regex模式。 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。 测试用例 这些格式为: A/B/C\nOutput Hello, world!/world!/PPCG Hello, PPCG Uppercase is up/up/down Uppercase is down ababababa/aba/ccc cccbcccba delete/e/{empty string} dlt {empty string}/no/effect {empty string} llllrrrr/lr/rl rrrrllll +-+-+-+/+-+/+ + ababababa/aba/bada badabbadbada abaaba/aba/ab abb ((())())())/()/{empty string} ) 不会终止的示例: grow/ow/oow loop/lo/lo
25 code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

15
拼写单词算术
我们都已经看到过这些在线“算术”,如下所示: Think of a number, divide by 2, multiply by 0, add 8. 而且,通过魔术,每个人最终都得到8! 语言 让我们定义一种使用上面文本的语法的编程语言,称为“ WordMath”。WordMath脚本遵循以下模板: Think of a number, <commandlist>. 这基本上意味着:将一个数字(作为来自STDIN的输入)作为初始累加器,对其执行所有命令,然后输出结果。 这些命令由定界符,(逗号+空格)分隔。有效的命令是(注意,它#代表一个非负整数:): add #/ subtract #-添加/减去累加器的值。 divide by #/ multiply by #- floordiv /乘累加器由给定的值。 subtract from #-与相似subtract,但acc = # - acc代替acc = acc - # repeat-再次执行最后一个命令。这不能是第一个命令,但是您必须支持多个连续的重复。 挑战 你的任务是创建一个程序或功能,这需要一个有效WordMath脚本作为输入和 …

6
大数字
在尝试解答我的几个答案时,我需要用尽可能少的字符编写大整数。 现在,我知道执行此操作的最佳方法:我会让您编写此程序。 挑战 编写一个程序,当给定一个正整数时,输出一个程序,将其打印到stdout或等效程序。 输出程序不必使用与创建者相同的语言。 输出最多为128个字节。 您可以接受来自stdin或等效输入的输入(不是功能输入) 您可以将结果程序输出到stdout或等效程序。 输出的数字必须为十进制(以10为底) 计分 您的分数等于程序无法编码的最小正整数。 得分最高的条目将获胜。

10
最短的唯一标识子字符串
给定一个字符串列表,请用其非空子字符串之一替换每个字符串,该子字符串不是列表中任何其他字符串的子字符串,并且应尽可能短。 例 给定list ["hello","hallo","hola"],"hello"应替换为,"e"因为该子字符串未包含在其中"hallo","hola"并且它尽可能短。"hallo"可通过任一取代"ha"或"al"并"hola"通过任何"ho","ol"或"la"。 规则 您可以假定字符串将为非空,并且仅包含大小写相同的字母字符。 您可以假定列表中的每个字符串都存在这样的子字符串,即列表中的任何字符串都不是其他任何字符串的子字符串。 输入和输出可以采用任何合理的格式。 这是code-golf,因此请尝试使用您选择的语言使用尽可能少的字节。 测试用例 在大多数情况下,仅给出一种可能的输出。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 相关:最短识别子字符串 -类似的想法,但涉及更多规则和繁琐的格式。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

30
用HTML生成am * n表
输入: 两个十进制整数m和n分别给出表的行数和列数。 m并且n大于或等于1。 输出: HTML中具有m行n列的表。 该表应可由您选择的现代浏览器显示。即使未关闭标签,大多数浏览器也会正确显示所有内容。适当的缩进和间距是可选的。 每个单元格中至少应有一个(非空白)可打印字符。 第一行中的单元格应使用<th>标签,而随后几行中的单元格应使用<td>标签。 获胜条件: 这是代码高尔夫球,因此每种语言的最短源代码胜出。 输入示例: 2 3 输出示例: <table> <tr> <th>A</th> <th>A</th> <th>A</th> </tr> <tr> <td>A</td> <td>A</td> <td>A</td> </tr> </table> 要么 : <table><tr><th>A<th>A<th>A<tr><td>A<td>A<td>A

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

3
原子比例游戏
您的任务是使机器人扮演得分最高的Atomas。 游戏的运作方式: 游戏板以6个“原子”的环开头,数字范围为1到3。您可以“玩”两个原子之间或另一个原子上的原子,具体取决于原子本身。 您可以有一个普通原子,也可以有一个特殊原子。 正常原子: 您可以在板上任意两个可用原子之间播放普通原子。 您从处于该范围内的原子开始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种类型,它们是: 的+原子: 这个原子在两个原子之间起作用。它有五分之一的机会产卵。 如果原子两侧的+原子相同,则会发生聚变。运作方式如下: The two atoms fuse together to create an atom one higher. …
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 

7
生成尺寸越来越大的程序
在这个挑战中,您将编写一个程序,该程序输出的程序是原始程序长度的两倍。输出的程序应以长度两倍的程序输出一个新程序。 例子 如果我的程序是a: < a > aa < aa > aaaa < aaaa > aaaaaaaa 规则 没有内置奎因 原始程序必须至少一个字节 该序列理论上应该无限工作 您的程序不允许读取任何内容(文件,stdio) 您的分数是原始程序的大小。

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

8
反向插入排序
目的 根据“ 插入排序”对列表进行排序的动作,生成原始的加扰列表。原始列表将包含从0到N-1(包括)的所有数字,其中N输入的大小。 输入项 一个包含对列表进行排序的必要动作的列表。每个值代表由原始数字(加扰的数字)移位到其右位置的插槽数量,请记住,此过程是从左到右。输入列表 中(0索引)位置的值i将介于0和之间i。 您不需要处理无效的输入,在这种情况下,任何行为都是可以接受的(崩溃,无限循环等)。 输出量 混乱的名单 逐步生成动作 Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

11
最大化平方差
考虑从1到的整数值的置换N。例如此示例N = 4: [1, 3, 4, 2] 我们将认为此列表是循环的,因此1和2被视为相邻列表。我们可以为这样的列表计算的一个量是相邻值的总平方差: (1-3)² + (3-4)² + (4-2)² + (2-1)² = 10 给定正整数,您的任务是找到一个最大化此数量的排列N。在N = 4上面的例子中不是最佳的(实际上,这是最小的)。18通过以下排列(以及其他几个排列),我们可以实现的总平方差: [1, 4, 2, 3] 您的算法必须在(的N)多项式时间内运行。特别是,您不能简单地计算所有排列的总平方差。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行自变量或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出可以采用任何方便,明确,平坦的列表或字符串格式。您可以选择从与返回值的列表0,以N-1代替1向N。 适用标准代码高尔夫球规则。 测试数据 这个问题有一个很好的分析解决方案。例如,所有有效的解决方案N = 10均等效于以下列表(直至循环移位和反转): [7, 5, 6, 4, 8, 2, 10, 1, 9, 3] 我不想透露过多的信息(尽管足以找出模式),因此无需给出更多示例,您可以检查您的结果是否具有给定的总平方差N: N Total squared difference 1 0 2 …
19 code-golf  array-manipulation  permutations  restricted-complexity  code-golf  geometry  grid  code-golf  string  sorting  code-golf  simulation  code-golf  string  code-golf  arithmetic  code-golf  sorting  code-golf  string  code-golf  sorting  code-golf  interpreter  code-golf  number  kolmogorov-complexity  natural-language  conversion  code-golf  random  internet  code-golf  board-game  code-golf  number  sequence  code-golf  math  number  code-challenge  image-processing  classification  test-battery  code-golf  ascii-art  code-golf  tips  code-golf  arithmetic  code-golf  tips  code-golf  tips  javascript  code-golf  array-manipulation  code-golf  ascii-art  code-golf  string  binary  code-golf  arithmetic  linear-algebra  matrix  code-golf  sequence  code-golf  math  number  arithmetic  code-golf  primes  code-golf  math  code-golf  array-manipulation  counting  code-golf  arithmetic  code-golf  quine  code-generation  polyglot  code-golf  math  kolmogorov-complexity  trigonometry  code-golf  string  encryption 

20
写一个Metaquine
metaquine是一个不是quine的程序,但是当以相同语言作为程序运行时,其输出是quine。 这项挑战的目标是编写一个metaquine。这是代码高尔夫球,因此最短的代码获胜,最早的答案用作决胜局。请注意,由于quine的定义,只接受完整程序。 规则 仅接受真正的奎因。也就是说,您需要将整个源代码原样打印到STDOUT,而无需: 直接或间接阅读您的源代码。 依靠REPL环境,该环境仅评估并打印您提供给它的每个表达式。 依靠在某些情况下仅能打印出源代码的语言功能。 使用错误消息或STDERR编写全部或部分的藜。(您可以将内容写到STDERR或产生警告/非致命错误,只要STDOUT是有效的Quine,并且错误消息不属于其中即可。) 源代码完全由文字(无论是字符串文字,数字文字等)和/或NOP组成。 为了有效,可以在输出中忽略任何不可抑制的输出(例如版权声明,启动/关闭消息或尾随换行符)。 例 忽略禁止纯文字程序和内置quining的规则,这在严重中将是一个metaquine: "Q" 该程序由单字符串文字组成,该字符串"Q"在输出中隐式打印。Q运行输出()时,它是一个quine(Q是内置的quine函数)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.