Questions tagged «code-golf»

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

3
跟随点
挑战 给定一个矩形的字符网格 美国广播公司 FGHIJ 克拉姆诺 PQRST 和一个点和空格尺寸相同的网格 。。。 。。。 。。 。。。 输出从左上角开始的点通过网格跟随点生成的字符串。这个例子会产生ABGLQRSNIJE 笔记 您可以将输入网格作为2D阵列或您语言中最接近的替代形式,而不是多行字符串。 您可以使用语言的NULL值代替空格。但是,您必须使用点来标记路径。 您无需在同一行上用空格分隔点。我只是为了可读性添加了它们。 最小的网格大小为1x1。 起点和终点只有一个邻居。它们之间的点将始终具有精确的两个垂直或水平邻居。这保证了路径是明确的。 路径不会成对角线。 网格中的字符将[a-z]是最方便的范围内的所有大写或小写字符。 路径将始终从左上角开始。 规则 允许功能或完整程序。 输入/输出的默认规则。 有标准漏洞。 这是代码高尔夫球,因此最低字节数获胜。Tiebreaker是较早提交的内容。 测试用例 网格#1 中国农业银行 DEFGHUQ XLUSDQZ 阿苏克西 吴科 友邦 。。 。。。 。 。。。。 。 。 => ABEFGSKUSAWA 。。。。。。。 。 。。。。 。。。。 。。 。。。。。。。 => ABCABCWQZIMPUOIAIAWAXLUUK …
22 code-golf  string  grid 

30
反向正向运行
输入项 您的输入是任何合理格式的一位数字列表,包括一串数字。输入将不为空。 输出量 您的输出应为输入列表,但每个最大的非零数字都将反转。 例 考虑输入 95883007414830 <---> <----> 非零行程已用箭头标记的地方。反转所有这些运行,我们获得输出 38859003841470 规则和计分 您可以编写完整的程序或函数。最低字节数获胜,并且不允许出现标准漏洞。 这个挑战是相关的,但更为复杂,因为它包括其他字符串处理。 测试用例 4 -> 4 00 -> 00 123 -> 321 0010 -> 0010 12000345 -> 21000543 18161604 -> 61618104 95883007414830 -> 38859003841470 010230456078912 -> 010320654021987 357509902003550 -> 575309902005530 2492882377675046 -> 5767732882942064 03026302053000357099 -> 03036202035000753099 排行榜 这是一个堆栈片段,用于按语言生成排行榜和获奖者名单。为了确保您的答案显示出来,请以表格标题开头 …

30
N之后的最小整数可被2、3和4整除
归功于应归功于谁。 目的:给定一个整数N > 0,从最小的整数A,B以及C使: 所有的A,B以及C严格大于N; 2分歧A; 3分歧B; 并4划分C。 这是一个代码高尔夫球,因此最短的答案以字节为单位。您可以使用在挑战后制作/更新的语言,但严格来说这是非竞争性的。 测试用例 N => A, B, C 1 => 2, 3, 4 4 => 6, 6, 8 43 => 44, 45, 44 123 => 124, 126, 124 420 => 422, 423, 424 31415 => 31416, 31416, 31416 1081177 => 1081178, 1081179, 1081180
22 code-golf  math  number 

3
霍尔数
正如我们从“圣数字”中学到的那样,有5个圣数字(0, 4, 6, 8, 9),而仅由这些数字组成的正整数是圣数字。此外,数字的完整度是数字中的孔的总和(+2对于每个0或8,+1否则)。 现在,还有一个要考虑的附加属性,可以真实准确地表示数字的圣洁性。您会看到,不仅数字中的孔数量很重要,而且数字出现的位置也很重要。 考虑数字88。根据我们的旧规则,它的圣洁度为4。但这不公平!在8左边做更多的工作比其他8- 10倍的工作!它的工作应该得到回报。我们将以等于其右边所有数字的总圣洁度的额外圣洁度奖励它(包括此规则授予其右边数字的额外圣洁度),减去-1。 以下是更多需要考虑的示例: Number: 8080 Digital holiness: (2 + 7 - 1) + (2 + 3 - 1) + (2 + 1 - 1) + (2 + 0 - 1) Total holiness: 15 Number: 68904 Digital holiness: (1 + 5 - 1) + (2 …

9
打印超级Collat​​z号码
将在Collat​​z序列(也称为3X + 1的问题)是你用任意正整数开始,在这个例子中,我们将使用10和应用这一套步骤吧: if n is even: Divide it by 2 if n is odd: Multiply it by 3 and add 1 repeat until n = 1 10是偶数,所以我们将2除以得到5。5是奇数,所以我们乘以3并加1得到16。16是偶数,因此将其切成两半得到8。8的一半是4,一半4是2,一半是2。因为这花了我们6步,所以我们说10的停止距离为6。 Super Collat​​z数是一个数字,其停止距离大于每个数字的停止距离。例如,6是Super Collat​​z数,因为6的停止距离为8,5的停止距离为5,4的为2,3的为7,2的为1,1的值为 0。(OEIS中的A006877)您必须以数字n作为输入,并输出直到n的所有Super Collat​​z数字。 规则 完整程序或功能是可以接受的。 您无法预先计算或对Super Collat​​z序列进行硬编码。 您可以采用任何合理的格式输入。 输出可以作为功能列表返回,也可以打印到STDOUT或文件中。以最方便的为准。 无效的输入(非数字,小数,负数等)导致未定义的行为。 示例非高尔夫python def collatzDist(n): if n == 1: return 0 if …

25
打印第N个非回文数
回文数(如果您不知道)是一个前后读相同的数字(例如11)。前15个非回文数为:10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26。这是A029742。我经常需要这些数字,但是我的便签本很小,因此您的代码必须尽可能短。 规则 每个提交都必须是完整的程序或函数(例如,在C语言中,您不能只定义没有标题的函数,而可以定义具有必要标题的函数)。 如果可能,请提供指向可以测试您的程序的站点的链接。 您的程序不得向写入任何内容STDERR。 您可以将输入作为自变量,也可以取自STDIN(或使用您语言中最接近的替代物)。 程序根据字节计分。通常的字符集是UTF-8,如果使用其他字符集,请指定。 禁止出现标准漏洞。 测试用例 1 ==> 10 ----- 5 ==> 15 ----- 12 ==> 23 计分 这是代码高尔夫球,因此最少字节获胜。 意见书 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以将旧分数保留在标题中,方法是将它们打掉。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes …

30
排序整数列表
挑战 真的很简单,对数字列表进行排序。 细节 您必须按升序对数字列表进行排序,而不使用任何内置的排序函数/库/等(例如,list.sort()在Python中)。 输入/输出可以用您选择的任何方法完成,只要它是人类可读的即可。 一如既往,不允许出现标准漏洞。 以字节为单位的最短代码获胜。 您必须说明/列出您使用的排序方法(气泡,插入,选择等)。 输入将不包含重复项。 样本输入/输出 输入: 99,-2,53,4,67,55,23,43,88,-22,36,45 输出: -22,-2,4,23,36,43,45,53,55,67,88,99 注意:与“ 对数字列表排序”正好相反

12
琴弦中紧缩的元音
任务描述 有时,您确实需要在很小的空间里容纳正在写的东西。可能会很想丢元音和其他内容,但如果失败了,谁真正需要空格?谢谢!† 编写一个函数或程序,该函数或程序除去小写的元音aeiou,然后除去空格,然后除去输入字符串中的所有字符。此外,每次删除字符时,它必须是最有资格删除的字符。它必须重复此过程,直到字符串不超过给定的输入长度为止。 †“这完全可读!”但是,如果您正在阅读此脚注,则可能不是,真的... :) 例子 在这里,您可以看到此过程适用于连续较小的输入大小: 23: Hello, Code Golf World! 22: Hello, Code Golf Wrld! 21: Hello, Code Glf Wrld! 20: Hello, Cod Glf Wrld! 19: Hello, Cd Glf Wrld! 18: Hell, Cd Glf Wrld! 17: Hll, Cd Glf Wrld! 16: Hll, Cd GlfWrld! 15: Hll, CdGlfWrld! 14: …
22 code-golf  string 

13
重点是什么?
编写一个程序或函数,该程序或函数接受两个整数,这些整数表示笛卡尔平面上某点的X和Y坐标。 该输入可以进来任何合理的格式,只要该X值Y.例如之前到来时,1 -2,(1,-2),[1, -2],或1\n-2都将是罚款X = 1,Y = -2。 打印或返回描述该点在平面中位置的单个字符串(后跟可选的尾随换行符): 1如果点在象限 I 2 如果该点在第二象限中 3 如果该点在象限III中 4 如果该点在象限IV中 X如果该点在x轴上(x不允许小写) Y如果点在y轴上(y不允许小写) O 如果该点在原点上(那是一个大写字母“哦”,而不是零) 以字节为单位的最短代码获胜。决胜局将进入投票较高的答案。 测试用例 (1,-2) -> 4 (30,56) -> 1 (-2,1) -> 2 (-89,-729) -> 3 (-89,0) -> X (0,400) -> Y (0,0) -> O (0,1) -> Y (0,-1) -> Y …

2
高峰体验:快速参观所有高峰
我站在x 地图中以数字表示高度的点(0,0)上,例如:HW 1132 2221 1230 # H = 3, W = 4 我想体验每一个山峰的美景,在这种情况下,这里是海拔很高的地区3。但是,爬山并非易事,而且我也没时间了。 挑战 面临的挑战是找到最快的途径参观所有的山峰然后回来。 最短的程序获胜。 输入项 H,W-地图的高度和宽度(整数)(可选,可以是列表/元组或两个单独的整数输入) 以任何方便的格式(2D列表,用换行符分隔的字符串等)H以W数字集(0- 9)形式给出的地图。 输出量 参观每个高峰并回到起点的最短时间(整数) 条件 给定区域的高度由从0到的数字表示9。 “高峰”由海拔最高的区域定义。 路径必须在左上角(0,0)区域开始和结束。 您只能移动到与当前区域相邻的区域,并且不能对角移动。 如果高度没有变化,则从一个区域移动到另一区域需要3分钟。 爬上需要11分钟;也就是说,要从一个区域移动到另一个1单位正好更高的区域。 爬下需要2分钟;就是说,从一个区域移动到另一个1单位正好较低的区域。 您不能将区域移到1比您所在的位置高或低的地方。(例如,您不能从一个高海拔的区域1到另一个有高海拔的区域3) 保证通往所有山峰的道路 最大峰数为15。 样品 输入项 4 5 32445 33434 21153 12343 输出量 96 说明 您从左上角开始3。你必须访问两个5是位于在s (0,4)和(3,3)回来到3在(0,0)在最短的时间内。 3 2 4->4->5 V …

21
正交方向
任务:给定一个正好由一个字符<>^v组成的输入,输出第二个输入,该第二个输入由可打印的ASCII字符(从空格到波浪号)组成,并以箭头定向。 假设该程序的第二个输入是ABC。这是应该做的: 输入>:打印ABC。 输入<:打印CBA。 输入^:打印C\nB\nA,或输入旋转-90°。 输入v:打印A\nB\nC,或输入旋转90°。 测试用例 input => \n output --- ">", "thanks!" => thanks! --- "<", "Hello, World!" => !dlroW ,olleH --- "^", "This is text." => . t x e t s i s i h T --- "v", "Tokyo" => T o k y o --- …
22 code-golf  string 

15
高尔夫代码高尔夫得分
今天是星期五...所以我们去打高尔夫球吧!编写确定球员在高尔夫球比赛中的得分的代码。该代码可以是一个函数或整个程序。如体裁所示,最短的代码胜出。 输入(参数或标准输入,您可以选择): 表示孔的面值的整数,保证在3到6之间 代表高尔夫球手得分的整数,保证介于1到64之间 输出(打印到标准输出或返回,允许但不要求尾随换行符): 如果得分为1,则输出“孔合一” 如果得分== par-4且par> 5,则输出“神鹰” 如果分数==参数-3且参数> 4,则输出“信天翁” 如果得分== par-2且par> 3,则输出“ Eagle” 如果score == par-1,输出“ Birdie” 如果成绩==标准杆,则输出“标准杆” 如果得分==标准杆+ 1,则输出“柏忌” 如果得分== par + 2,则输出“双柏忌” 如果分数== par + 3,则输出“三柏忌” 如果得分> par + 3,则输出“哈哈,你输了” 编辑祝贺丹尼斯答案最短!

13
删除数字,保留更多数字
介绍 挑战在于找到从具有x个数字的原始数字n中删除y个数字的最大数字。 假设y=2 n=5263 x=4,可能的数字去除y = 2位数字是: [52, 56, 53, 26, 23, 63] 因此,63此示例的输出必须是最大数。 另一个逻辑是:对于每个y,从左到右搜索下一个更大的数字,然后将其删除,否则,当不匹配时,删除最后一个y数字。 使用y=3 n=76751432 x=8说明: y=3 76751432 -^------ remove 6 because right next 7 is greater y=2 7751432 ---^--- remove 1 because right next 4 is greater y=1 775432 -----^ the search failed, then remove last y …

10
夸 奎因+猫
在四元一个的组合奎因和流行esolang 猫节目。 挑战 挑战在于编写标准的cat程序。无论用户输入了什么,程序都会将输入回显到stdout。 但是,当输入的长度大于0 且是4的倍数时,程序应输出其自己的源代码。Quat来自葡萄牙语quatro,翻译为“四个”。 规则 适用标准漏洞 您可能无法从文件中读取源代码 空输入应产生空输出 奖金 如果您输入的长度是4的倍数,则可以通过打印quine length/4时间来获得25%的奖金。如果您用空格分隔输出(不允许尾随空格),则另外5%的奖金。 测试用例 以下测试用例适用于该程序in%4=0?cat:self(不是真实语言)。 <empty input> -> <empty output> input -> input 1234 -> in%4=0?cat:self 12345678 -> in%4=0?cat:self 0%奖金 12345678 -> in%4=0?cat:selfin%4=0?cat:self 25%奖金 12345678 -> in%4=0?cat:self in%4=0?cat:self 30%奖金 计分 这是代码高尔夫球。以字节为单位的最短代码获胜。
22 code-golf  quine 

16
使用其他打印机打印1至15
制作一台通用的整数打印机固然很好,但是编写一个可以打印许多不同数字的代码很麻烦。制作输出数字的脚本会更容易,但同时会为您提供一个新的脚本以获取下一个数字吗? 挑战: 编写输出单个整数N和可执行代码的代码。应该输出下一个代码N+1和可以输出的代码N+2。继续这条路,直到到达N = 15。(最后打印的号码应该是15)。 规则: 没有输入(假设输入为空)。 允许使用完整的程序或功能或其他方便的格式。 第一个代码应该输出1。 您无法输出前导零。例如,你不能打印01了1。 输出必须采用格式N, Code_for_N+1。请注意,输出用逗号和单个空格分隔。的代码N+1没有周围的引号。 N , Code_for_N+1不接受(逗号前面的空格)。尾随换行符可以。 输出的第一个字符必须是数字。(没有前导空格,或者ans = N)。 打印的号码不应成为下一个代码的一部分(代码可以包含该号码,但您不能将输出号码作为代码的一部分) 示例:的输出N=2可以是:2, printer 2。在这种情况下,printer 2是的代码N=3。您不能使用整个输出:2, printer 2作为的代码N=3。 脚本可能使用不同的语言 数据类型无关紧要(数字可以是字符串),但是不能被任何东西(引号,括号等)包围。 如果输出了一个代码,N=15那么它必须要么打印STOP!(请参阅奖励),要么根本不打印任何内容(甚至不包括空格或换行符)。 的代码N=15不能崩溃(但可以输出到STDERR)。 如果N=15打印输出代码16或其他任何内容(赠金情况除外),您将失去资格。 不允许使用内置的quine运算符。 不允许通过文件系统访问源文件。 奖金: -10字节(如果打印15的代码也产生了打印“ STOP!” 的代码) 使用Python语法的示例:(显然,这些仅适用于选定的整数,而不是1到15。) N = 1 print "1, print 2" 1, print 2 --- N = …
22 code-golf  string 

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.