Questions tagged «code-golf»

Code-golf是在最小的源代码字节中解决特定问题的竞赛。

28
现在在监狱里
挑战 给定一个整数n(其中4<=n<=10**6)作为输入,使用下面示例中的符号创建一个ASCII艺术“监狱门” * ,该字体测量n-1字符宽和n字符高。 例 ╔╦╗ ╠╬╣ ╠╬╣ ╚╩╝ 使用的字符如下: ┌───────────────┬─────────┬───────┐ │ Position │ Symbol │ Char │ ├───────────────┼─────────┼───────┤ │ Top Left │ ╔ │ 9556 │ ├───────────────┼─────────┼───────┤ │ Top │ ╦ │ 9574 │ ├───────────────┼─────────┼───────┤ │ Top Right │ ╗ │ 9559 │ ├───────────────┼─────────┼───────┤ │ Right │ ╣ │ …

30
谁有一个中间名逗号?
您的挑战是将名称(字符串)作为输入,例如 Albert Einstein 并输出: Einstein, Albert 伪代码: set in to input set arr to in split by " " set last to the last element of arr remove the last element of arr set out to arr joined with " " prepend ", " to out prepend last to out …
18 code-golf  string 

30
打印缺少的字符
简单的挑战是由我以前的打印无形文本和实际的无形文本挑战,以及相同长度的不同字符串挑战的流行所启发。 给定一个仅包含可打印字符(0x20 to 0x7E)的字符串,请打印该字符串中不存在的每个可打印字符。 输入值 字符串或字符数组,仅由可打印的ASCII字符组成 输出量 输入字符串中没有出现的每个可打印ASCII字符(不按任何顺序)。 测试用例 Input: "Hello, World!" Output: ""#$%&'()*+-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVXYZ[\]^_`abcfghijkmnpqstuvwxyz{|}~" ======== Input: "Hi!" Output: " "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmnopqrstuvwxyz{|}~" ======== Input: "" Output: " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" ======== Input: " !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~" Output: "" 计分 这是代码高尔夫球,因此每种语言中的最少字节数获胜
18 code-golf  string 

13
我的尺寸是多少?
任务:给定一个三角形的面积,找到一个具有该面积的Heronian三角形。允许使用具有指定区域的任何Heronian三角形。 Heronian三角形是具有整数边和整数面积的三角形。根据Heron的公式,边长为三角形的三角形a,b,c具有面积 sqrt(s*(s-a)*(s-b)*(s-c)) 哪里s=(a+b+c)/2是三角形周长的一半。这也可以写成 sqrt((a+b+c)*(-a+b+c)*(a-b+c)*(a+b-c)) / 4 如果不存在这样的三角形,则输出具有一致的假值。 输入:代表三角形面积的单个正整数。 输出:这样的三角形或错误值的任意三个边长。 例子: Input -> Output 6 -> 3 4 5 24 -> 4 15 13 114 -> 37 20 19 7 -> error 适用标准漏洞 这是代码高尔夫,最短答案以字节为单位。

17
压缩最大差异2序列
输出以下长度为1160的二进制序列: -++-+--++-++-+--+--++-+--+--++-+--++-++-+-++--++-+---+-++-+--+--++++--+--++-+--++-++----++-++-+-++--++-+-+---++-+--++-++-+--++-+--+---+-++-+--++-++-+--+--++-++-+--++-+--+++-+-+----+++-+--+--+++---++-++-+--+--+++--+-+-+--+-+++-++-+--+--++-+--++-++-+--+--++--+++---+++-+---++-+--++--+-+--+-+++-+--++-++-+--++-+--+--++-+--++--+-++-+-+--+-+-++-+--++-+--+--++-+-+-++-+-+-++---+-+--++++--+---++-+-++-+--++-+--+--++-+--++++--+---+-++++--+--++-++-+--++-+--+--++-+--++-++-+--++-+--+--++-++-+----+++-+--++--+++---+-++-+--+-++---+-++-++-+--+--++--++++-+--+--+--++++--+--+++---++-++-+--++--+-+--+--++-++-+--+--+-+++-++-+--+--++--+-++-++-+--+--+--++-++-+--+++---++-+--++-++---+++---++-++----+++--+-++-+--+--++-+--++-++-+-++--++--++----+++-++--++----++-+++--++---+++----+-+-++-++-++-+-+----+++--++-+--++-++-+--+--+--++-+--++-++-+--++--+-+--+-+-+-++++---+-+-++--+--+-+-+-++-+-+++--+-+--+--+-+++--+-+++---++-+--+--++-++--++---++-+-++--++-+---+-++-+--+-++--++-+--++-+--+-+++-+--++--+-+-+++--+-+--++-++-+--+--+-++---+-++-+-++--++-+--+++-+----++--+-++-+-++--++-+--++-+-++--++-+---+-++-+--+++----+-+-++--++-+--++-++-++-+--+--+--++++---++---+-+-++-+-+++--+-++--+-+--+-+-++---+++-++ 序列 我希望这种有限序列的结构严密,希望可以采用独特的压缩方法。它源于先前挑战中的Erdős差异问题。 将术语视为+1和-1,这是差异2的最大长度序列,这意味着: 对于每个正步长d,如果您采用每个d'th项(从th项开始d),则结果序列的运行总和将保持在-2和2之间(含-2)。 如果您认为每条指令都意味着+向右迈进和-向左迈进,则这意味着每条d指令的行走距离起点都不会超过2步。 例如,对于d=3,每第3个项取一个序列+-++--+--+-...,其运行总和为[1,0,1,2,1,0,1,0,-1,0,1,...],但从未达到-3或3。 -++-+--++-++-+--+--++-+--+--++-+--+... ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ + - + + - - + - - + - 1 0 1 2 1 0 1 0 -1 0 -1 ... 该序列是在2014年通过计算机搜索发现的。参见本文,该序列复制于附录B。该搜索证明差异2序列的最大长度为1160,尽管该长度不止一个序列。于2015年证明的Erdős差异问题表示,对于任何最大差异,任何此类序列都必须具有有限的长度,c而不是2。 时间要求 您的代码应在5秒钟内完成。这是为了限制暴力破解。 输出格式 您可以使用任何两个固定的不同字符或值,+以及-任何类似列表或类似字符串的格式。格式应为可直接读取1160位值的格式,而不是例如通过二进制表示形式编码为数字或通过字符值编码为字符串。对于字符串输出,允许尾随换行符。 排行榜 显示代码段 …

7
2D语言打高尔夫球的技巧
您对二维编程语言打高尔夫球有什么一般提示?我正在寻找可应用于代码高尔夫球问题的提示,这些提示特定于2D编程语言,但不特定于任何一种语言(“删除注释”和“使用M操作”之类的响应不是答案)。 请为每个答案发布一个提示。
18 code-golf  tips 

7
吉尔布雷思的猜想
假设我们从质数的无限列表开始: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, ... 然后,我们反复计算每对数字之间的绝对差: [1, 2, 2, 4, 2, 4, 2, 4, 6, 2, 6, 4, 2, 4, 6, 6, 2, 6, 4, ... [1, 0, 2, 2, 2, 2, 2, …

2
魔术可能吗?
甲幻方是一个正乘n正方形网格,在范围填充有不同的正整数1,2,...,N ^ 2,使得每个单元包含每个行中的不同的整数和整数的和,列和对角线相等。 您的任务是获取由正数和空单元格的占位符组成的n × n矩阵(我将使用 0,但您可以使用任何喜欢的非数字字符或数据类型),并确定是否为填写遗漏的数字可以制作一个魔术方块 矩阵将至少为2×2,最多为10×10。最小的非平凡的幻方是3×3。输入矩阵中的数字可能大于n ^ 2,并且所有单元格都有可能被填充。 测试用例: 2 2 2 0 False 8 0 6 0 5 0 0 9 2 True 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 True 10 0 1 0 5 9 3 …

9
明智的数字
明智是我前一段时间设计的一种简单的按位语言。它基于Python的按位运算。它有几个操作,其中大多数与Python中的等效符号相同或非常相似。 : 复制堆栈顶部 ? 将堆栈顶部旋转到底部 ! 将堆栈底部旋转到顶部 [ ] 在栈顶不为零时循环 ~不是栈顶(-(n+1)) -否定堆栈顶部(-n) >将堆栈顶部向右移一次(n//2) <将堆栈顶部向左移一次(n*2) ^xor堆栈的前两个项目(与Python相同) |或堆栈的前两个项目(与Python相同) &和堆栈的前两个项目(与Python相同) 用Wise制作整数非常简单,您可以将设为0 ::^并以递增,~-因此您可以设为0并将其递增一堆。但是,如果我们删除-内容,将会变得更加有趣。 我们仍然可以使用剩余的运算来计算每个数字。例如这里是3 ~<<~ 蒂奥 之所以起作用,是因为~将零(一个无穷大的0位字符串)变成负的一个(一个无穷大的1位字符串),每个都在末尾<附加一个0位,完成后,我们将~其每个都变成一个0s 字符串,然后是一个2 1s。 ,或者像大多数人所说的那样3。 任务 编写一个程序,当给定一个正整数时,将输出一个Wise程序,该程序将创建一个数字n而不-在其源代码中使用数字(输出的源代码,您可以使用-在自己的源中使用)。您可能假设堆栈顶部已经有一个零。 这是代码 源代码,而不是 元代码源,因此您应力争将生成的源代码(不一定是输出)最小化。 输出示例 此列表并不详尽,它们只是可能的输出 1 -> ~<~ 2 -> ~<~< 3 -> ~<<~ 4 -> ~<~<< 5 -> ~<~:<<| 6 -> …

28
计算逆模量
任务: 输出for的值x,其中a mod x = b有两个给定值a,b。 假设条件 a并且b将始终为正整数 永远不会有解决方案 x 如果存在多个解决方案,请至少输出其中之一。 如果没有任何解决方案,则不输出任何内容或表明不存在任何解决方案。 允许内置(不像其他数学方法那样有趣) 输出始终是整数 例子 A, B >> POSSIBLE OUTPUTS 5, 2 >> 3 9, 4 >> 5 8, 2 >> 3, 6 6, 6 >> 7, (ANY NUMBER > 6) 8, 7 >> NO SOLUTION 2, 4 >> NO …
18 code-golf  math  number-theory  code-golf  number  integer  code-golf  string  code-golf  music  code-golf  arithmetic  array-manipulation  decision-problem  code-golf  math  rational-numbers  code-golf  code-golf  graphical-output  hardware  code-golf  math  number  code-golf  string  parsing  natural-language  code-golf  tips  brain-flak  code-golf  graph-theory  code-golf  number  polynomials  king-of-the-hill  code-golf  ascii-art  kolmogorov-complexity  animation  king-of-the-hill  code-golf  tips  code-golf  ascii-art  code-golf  string  array-manipulation  data-structures  code-golf  math  number  code-golf  string  base-conversion  binary  code-golf  decision-problem  graph-theory  code-golf  math  polynomials  code-golf  kolmogorov-complexity  physics  code-golf  sequence  number-theory  code-golf  math  integer-partitions  code-golf  array-manipulation  random  permutations  code-golf  string  decision-problem 

8
退出码字符串输出
必须编写一个程序或函数,给定当非空字符串小号的Ñ打印的ASCII字符†,输出一个程序,将与退出代码退出Ç,其中Ç是在位置0处的ASCII码点小号。您编写的该程序将另外输出一个程序P,以便在运行时以退出代码C'退出,其中C'是S中位置1的ASCII码点。程序P将输出另一个程序P'。重复此过程,直到S中没有剩余字符为止。完成此操作后,您必须输出任何内容,后跟可选的换行符;并应以退出代码0退出。 †0x20和之间的字符(0x7e含)。 其他一些规则: 不允许自修改程序:您必须将源输出到STDOUT(或最初返回值) 您可能无法阅读自己的源代码。 以字节为单位的此类最短程序将获胜。 对于某些基本测试,可以使用此ruby脚本。(第一个参数是调用脚本的方式,第二个参数是程序,第三个参数是输入字符串。) 假设的例子 说程序是FOO。给定字符串“ ABC”时,输出BARA。此程序代码退出65并输出BARB。依次返回代码66和输出BARC。此程序代码退出67并输出BAR!。这不会输出任何内容,并使用code退出0。
18 code-golf  quine 

6
有损还是无损?
给定一个音频文件,请确定它是以有损格式还是无损格式编码的。出于此挑战的目的,仅需要对以下格式进行分类: 有损的 AC3 AMR AAC MP2 MP3 奥格·沃比斯 WMA 无损 联合会 FLAC 贸易协定 WAV 规则 如果以文件名的形式输入,则不应对文件名做任何假设(例如,扩展名不能保证格式正确,甚至不存在)。 输入文件中将不存在ID3或APEv2元数据。 可以使用任何两个唯一且可区分的输出,例如0和1,lossy和lossless,foo和bar等等。 测试用例 测试用例迎接这一挑战包括位于一个zip文件这里包含两个目录:lossy和lossless。每个目录都包含多个音频文件,它们都是0.5秒的440 Hz正弦波,并以各种格式编码。所有音频文件都具有与上述格式匹配的扩展名,但A440.m4a(MPEG Layer 4容器中的AAC音频)除外。

21
最长相等子序列
定义 子序列可能不是连续的,例如[1, 1, 1]是的子序列[1, 2, 1, 2, 1]。 相等的子序列是每个元素都相等的子序列。 最长等于序列可能不是唯一的,例如,[1, 1]和[2, 2]是两个最长等于子序列[2, 1, 1, 2]。 输入值 一个非整数的正整数列表,格式如下: 作为您语言中正整数数组的本地实现 作为以换行符分隔的整数的字符串(十进制) 作为一串以换行符分隔的整数(一元) 任何其他合理的格式 输出量 以下列格式之一按任何顺序排列的所有最长相等子序列: 作为您语言中的2D嵌套数组(如果输入是数组) 作为带有相等元素的连续数组 任何其他合理格式 计分 尽管我们在寻找长的东西,但是使用的代码就字节数而言应尽可能短,因为这是代码高尔夫 测试用例 输入: [1, 2, 3] [1, 2, 2, 1] [1, 2, 3, 2, 1] [1, 2, 1, 2, 3, 4, 1] 输出: …

6
总结?那是我的优势!
介绍 Forte是一种非常奇特的深奥语言,基于修改数字值的概念。在Forte中,数字不是常数而是变量,您可以使用LET指令为其分配新值。 例如,LET 2=4-1从现在开始执行后,2假设值为3,这意味着只要2表达式中的值出现,它就会由代替3。该表达式(1+1)*2现在将计算为9。 Forte中的此指令既用于存储信息,又用于流控制(对行进行编号,并通过更改其编号的值可以确定其执行顺序)。在这个挑战中,我们将不处理第二个方面。 挑战 您需要为Forte LET表达式的简化子集编写解释器。 您将收到以下遵循以下语法的输入行: <line>::= <number>=<expression> <expression>::= <number>|<expression>+<number> 注意:此语法无效,因为它缺少行号,LET和括号(它们始终是必需的) 也就是说,您只需要处理求和和为数字分配值。括号不会出现在输入中,并且每个表达式都需要从左到右求值:请注意部分结果会受到重新定义的影响! 数字将始终是非负整数,直到您的语言的本机整数类型的限制(或2 ^ 32,以较高者为准)。 对于每一行,您应该输出表达式的结果,并将该结果分配给第一个数字的(可能是重新分配的)值,这将影响如何解释以下各行。 这是代码高尔夫球,最短的代码(以字节为单位)获胜! 其他规定 输入格式是灵活的,例如,您可以采用带换行符的单个字符串,字符串列表,数字列表...输出也一样,只要清楚每个表达式中的结果是什么输入。 您可以提交要在REPL环境中运行的函数,完整程序或解决方案,每行调用一次。 禁止出现标准漏洞,特别是您不能在代码中调用外部Forte解释器。 例子 这些都是同一输入的一部分。在每行之后,显示相对于该行的预期输出,有时还会显示注释,指示相关的重新分配(不是必需输出的一部分)。 5=4 4 6=5 4 # 5 -> 4 7=1+2+5 7 7=5+2+1 4 # Order of operations matters! 5+2 -> 4+2 -> 6 -> 4 …

4
嵌入式六边形!
您的任务:给定一个整数n,按照以下规则生成一个嵌入的六角形图案,直到第n个深度。 嵌入的六边形具有以下基本形状:(n=0) __ / \ \__/ 嵌入式六边形n=1和n=2: ____ / \ \ /\__/ \ \ / \____/ ________ / \ \ \ /\__/ \ \ /\ / \ / \____/ \ \ / \ / \ / \________/ 每侧的长度是先前深度中同一侧的长度的2倍乘以2。顶部和底部的长度为2个字符n=0,其余部分以1个字符的长度开头。非上下边的长度应2^n较长(OEIS:A000079),上下边应遵循规则2^(n+1)(相同的OEIS)。 当前的六边形是0索引的,如果需要,您可以选择使用1索引。 这是代码高尔夫球,所以最短的答案会成功!

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.