Questions tagged «code-golf»

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

14
内翻弦
平衡字符串是一串括号,()因此每个括号都可以与另一个匹配。更严格地说,它们是该语法所涵盖的字符串: S → (S)S | ε 我们可以通过以下方式将字符串“由内而外”: 开关的所有事件(,并)互相 将字符从字符串的前面移到后面,直到再次平衡为止。 让我们举个例子。 我们从平衡的字符串开始: (()(())()) 然后我们切换括号 ))())(()(( 然后将字符从字符串的开头移到字符串的后面,直到字符串平衡为止。 ))())(()(( )())(()(() ())(()(()) ))(()(())( )(()(())() (()(())()) 那就是我们的结果! 请注意,有些字符串可以用多种方式内翻,例如字符串 (()()) 从里到外可以是: ()(()) 要么 (())() 但是,每个字符串至少都有一个解决方案。 任务 编写一个程序,以平衡的字符串作为输入并输出,该字符串由内而外。如果可能有多个有效输出,则只需要输出其中之一即可。您可以使用不同的支柱型(<>,[]或{}),如果你愿意的话。 这是一场代码高尔夫竞赛,因此您应力求最大程度地减少以字节为单位的源代码大小。 测试用例 (()()) -> ()(()), (())() (()(())()) -> (()(())()) ((())())() -> (()(()()))

30
帮我洗衣服
救命!我的全自动黑暗照明分离器V3001.01坏了!:( 指导方针 任务 编写一个程序,该程序将以任意数量的字符串(字母L或字母D(代表亮或暗))输入一个数组(或某些语言的列表),并输出包含两个数组的数组,一个与所有的L和一个与所有的D。 规则 这是代码高尔夫,所以最短的答案以字节为单位 输入只会包含大写字母 输出中的L必须与输入中的L数量相同,D的数量相同 输入只能有一个元素(甚至可能有零个元素) 如果一个或两个输出数组不包含任何元素,则输出一个空列表(在某些语言中,这可能意味着您需要输出一个字符串) 始终将第一个数组作为L的数组 输出示例: ["L","D","L","D","D"] -> [["L","L"],["D","D","D"]] ["L","L","L"] -> [["L","L","L"],[]] ["D","D"] -> [[],["D","D"]] [] -> [[],[]]

30
除数的乘积
挑战 给定一个正整数,返回其除数(包括自身)的乘积。 这是OEIS中的序列A007955。 测试用例 1:1 2:2 3:3 4:8 5:5 6:36 7:7 8:64 9:27 10:100 12:1728 14:196 24:331776 25:125 28:21952 30:810000 计分 这是代码高尔夫球,因此每种语言中最短的答案将获胜!

12
代表大数的一般提示
有时,打高尔夫球时,需要在其代码中表示大量数字。照原样写入它们可以大大增加字节数。 您在代码中简洁地表示长数字时有哪些一般的1小技巧? 请为每个答案发布一个提示。 1随着一般,我的意思是可以适用于多单的语言技巧。有关特定于语言的提示,请在各自的主题中发布。
21 code-golf  number  tips 

6
修正我对矩阵列表的表示法,第1部分
有时,我的代码中包含常数矩阵列表: [ [[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]] ] 屏幕空间的使用非常糟糕。我宁愿将它们彼此相邻写: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]] ] 您会发现这仍然是一个语法上有效的嵌套列表,它不再是矩形,并且具有非常不同的结构(特别是,每当我添加大于1x1的矩阵时,它就会变得更深)。但是,仍然可以从这个新列表中重建矩阵的初始列表。 为了将来能够使用此语法,我需要您编写一些代码,以将以水平排列方式编写的数组转换为它们表示的矩阵列表。 为确保答案不对源代码中的布局执行2D模式匹配,输入将仅作为数组对象给出,或者如果您采用字符串表示形式,则输入将不包含任何空格以指示文字是用代码编写的。因此,您将获得如下输入: [[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, …

23
我的电话号码是de Polignac号码吗?
当且仅当它是奇数并且不能以p + 2 n的形式表示时,该数字才是de Polignac数,其中n是非负整数,p是质数。 任务 编写一些采用正整数并确定它是否为de Polignac数的代码。您可以输出两个不同的值,一个为true,一个为false。您应该努力减少字节数。 测试用例 对于积极的情况,这里是OEIS 1, 127, 149, 251, 331, 337, 373, 509, 599, 701, 757, 809, 877, 905, 907, 959, 977, 997, 1019, 1087, 1199, 1207, 1211, 1243, 1259, 1271, 1477, 1529, 1541, 1549, 1589, 1597, 1619, 1649, 1657, 1719, 1759, 1777, 1783, 1807, …

30
画一个大斜线X
给定一个非负整数,打印出X那么大的整数。X是input的输出0,您将在每个方向上添加等于输入的斜线以扩展X较大的输入。 测试用例 0 X 1个 \ / X / \ 2 \ / \ / X / \ / \ ... 10 \ / \ / \ / \ / \ / \ / \ / \ / \ / \ / X / \ / \ / \ / …

7
后勤地图的奇特魅力
挑战的目的是大约绘制吸引所述的逻辑映射作为其参数的函数[R (也称为分支图),或它的一个子区。在Wikipedia的以下图像中可以看到该图形的外观: 背景 该逻辑映射是一个数学函数,其采用输入X ķ并将其映射到输出X K + 1定义为 x k + 1 = r x k(1− x k) 其中r是映射的参数,假定位于区间[0,4]中。 给定[0,4]中的r以及间隔[0,1]中的初始值x 0,有趣的是将函数重复应用大量N次迭代,从而产生最终值x N。请注意,x N也必将位于[0,1]中。 例如,假设r = 3.2,N =1000。初始值x 0 = 0.01得出x 1000 = 0.5130。对于x 0 = 0.02,结果为x 0 = 0.7995。对于任何其他初始值x 0,最终值x 1000都非常接近0.5130或0.7995。在图中将其视为水平位置r = 3.2 处的两条线的高度。 这并不意味着对- [R = 3.2的每个序列收敛于这两个值中的一个。实际上,对于上面考虑的两个初始值,序列为(请注意振荡行为): x 0 …

3
当生活给你柠檬时,做柠檬水
挑战 您将得到一个输入字符串,任何地方的话"Lemon"是发现它应转换到"Lemonade" ,但是在a,d和e在句子中必须借用了别的地方。 例 输入示例: 我小时候发现一个柠檬 示例输出: 我小时候就喝柠檬水 该柠檬水是由从原来的偷下标字母创建 我foun d柠檬水WH é ñ我是一个孩子 这只是一个可能的输出示例,“ e”,“ d”和“ a”可以从任何地方获取(当然单词除外lemon) 评论 •如果,或s 不足e,则必须输出给定字母可进行的操作。例如,输入将输出adbdblemonbblemond • lemon文本可能并不总是独立的(两边都有空格)。例如,您可能lemons在输入中的某处有单词,而输出应为lemonades •输入可以包含任意数量的lemons,甚至0 lemons(在这种情况下,输出将与输入相同) •您可以用大写和小写字母来制作您的柠檬水,例如leMon可以变成leMonade,而ade借用可以是任意大小写(因此也可以变成leMonADe)。您借用的信件的大小写必须保持与借用时相同。(示例输入->输出,he hAD lemOn-> h h lemOnADe) •不必是一个完整的程序,仅一个功能就可以。 •您可以假设输入仅是CP437字符集 高尔夫代码 这是代码高尔夫球,因此赢得最少的字节数! 伪测试案例 *注意:对于任何给定的输入,可能会有多个可能的输出,因此您的程序可能无法完全按照这些测试用例的方式输出,这仅仅是为了使人们可以理解逻辑: 输入:EpaD leMons 输出:p LeMonaDEs 输入:hello world 输出:hello world 输入:柠檬柠檬 输出:柠檬柠檬 *(本e,a,d字母不应该从另一个“柠檬”拍摄) 输入:HE HAD柠檬水 输出:HH …
21 code-golf  string  code-golf  parsing  internet  stack-exchange-api  code-challenge  kolmogorov-complexity  restricted-source  brain-flak  python  logic  pyth  code-golf  string  search  optimized-output  code-golf  tips  language-design  golfing-language  code-golf  tips  language-design  code-golf  number  sorting  pi  code-golf  math  number  code-golf  string  balanced-string  classification  brain-flak  code-golf  math  number-theory  decision-problem  code-golf  tips  code-golf  number  sequence  code-golf  balanced-string  brain-flak  code-golf  math  sequence  arithmetic  fibonacci  code-golf  math  parsing  code-golf  string  keyboard  code-golf  code-golf  string  source-layout  whitespace  code-golf  math  rational-numbers  code-golf  string  code-golf  string  code-golf  math  sequence  code-golf  number  floating-point  code-golf  string  decision-problem  subsequence  code-golf  string  kolmogorov-complexity  code-golf  string  permutations  balanced-string  brain-flak  code-golf  string  math  number  code-golf  string  primes  cipher  code-golf  string  ascii-art  chemistry  code-golf  ascii-art  grid  counting  code-golf  math  arithmetic  integer  code-golf  number  kolmogorov-complexity  code-golf  ascii-art  kolmogorov-complexity  sequence  metagolf  brain-flak  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  whitespace 

20
我的[sub]字符串隐藏了!
介绍 不久前,一个迷失的SO用户在这里发布了一个问题,现在将其删除了,但我认为这将是一个很好的挑战,所以就在这里... 挑战 编写一个包含两个字符串并检查第一个字符串的任何排列是否为第二个字符串的子字符串的完整程序或函数。 输入项 两个字符串,一个字符串和一个子字符串进行测试(您可以选择顺序)。 输出: 如果字符串包含子字符串的任何排列,则为真实值。 如果字符串不包含子字符串的任何排列,则为falsey值。 该测试区分大小写。 示例/测试用例 sub-string string input d!rl Hello World! output truthy input Pog Programming Puzzles & Code Golf output falsey input ghjuyt asdfhytgju1234 output truthy

2
有理分解a = xyz(x + y + z)
写功能x(a),y(a)并z(a)使得对任何理性a 所有函数返回有理数和x(a)*y(a)*z(a)*(x(a) + y(a) + z(a)) == a。您可以假设≥0。 只要程序在数学上是合理的,就不需要在程序中使用有理类型或运算。例如,如果您在答案中使用平方根,则必须表明其自变量始终是有理数的平方。 如果您的语言繁琐或不存在函数,则可以编写三个命名函数x,y,z或编写三个程序。或者,您也可以编写一个返回三个数字x,y,z的程序/函数。最后,如果您愿意,可以输入/输出有理数作为一对分子/分母。您的得分是三个函数或三个程序的总大小(以字节为单位)。分数最低者获胜。 不允许强行强制。对于任何a = p / q,其中p,q≤1000,您的程序应在10秒内运行。 一个例子(这并不意味着您的分解必须给出这些数字): x = 9408/43615 y = 12675/37576 z = 1342/390 x*y*z*(x+y+z) = 1

18
产生一支足球队!
以尽可能少的字节数生成以下足球队ASCII艺术作品。 |.| |.| |.| |.| |.| |.| |.| |.| ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ ]^[ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ /~`-'~\ {<| 8 |>}{<| 6 |>}{<| 1 |>}{<| 3 |>}{<| 7 |>}{<| 5 |>}{<| 4 |>}{<| 2 |>} \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ \|___|/ …

27
从Internet下载文件
介绍 是的,就是这么简单。从互联网上下载任何文件! 规则 您必须使用您语言的API。 您必须输出下载到STDOUT的文件,控制台,文件等。 输入的内容应为空,或您要下载的网址,但该网址必须计入字节数。 祝好运!

9
温度不均!
TNB曾经就最佳温度范围进行过一次讨论,我们达成了共识:取所有四个主要温度范围的平均值!也就是说,摄氏,开尔文,华氏,和兰(对不起列氏)。 因此,现在的问题是,大多数人不使用此系统。所以,我需要一个程序从这个平均值转换回来! 挑战 给定特定温度的摄氏,华氏度,开尔文和兰金表示的平均值,请以任何预定且一致的顺序输出各个标准表示。事实证明,根据我的白板计算,这是可能的。输入将是您的语言可以处理的任何范围内的单个浮点值,而输出将是任何合理格式的四个浮点值。您可以限制输入以强制输出在您的语言范围内,但是您必须能够支持到绝对零(因此,您需要能够处理负数)。 测试用例 input -> (Celsius, Fahrenheit, Kelvin, Rankine) 100 -> (-70.86071428571424, -95.54928571428565, 202.28928571428574, 364.12071428571437) 20 -> (-128.0035714285714, -198.4064285714286, 145.14642857142857, 261.2635714285714) -10 -> (-149.43214285714282, -236.97785714285715, 123.71785714285716, 222.69214285714287) 10000 -> (7000.567857142858, 12633.022142857144, 7273.717857142858, 13092.692142857144) 这些值是通过Uriel的Python程序生成的,我验证了它们的正确性。
21 code-golf  math 

27
在另一个列表中找到值的索引
您必须将两个正整数列表作为输入,我们将其称为n和m。 您可以假设: n中的所有整数都是m的一部分 m中的所有整数都是唯一的 列表非空 挑战:返回在m中的n中找到值的位置的索引。 这可能会令人困惑,但是我认为测试用例将使任务非常清晰。示例是1索引的,如果需要,可以选择0索引(请指定)。 n = 5 3 4 1 m = 6 8 4 1 2 5 3 100 output: 6 7 3 4 // 5 is in the 6th position of m // 3 is in the 7th position of m // 4 is in …
21 code-golf  number 

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.