Questions tagged «code-golf»

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

17
迷宫
阿斯图里亚斯国王筒仓的墓地里刻有一个字样:SILO PRINCEPS FECIT(国王筒仓为此)。 第一个字母位于中间,从那里沿任何非对角线方向向外辐射阅读。最后的字母位于所有四个角。在这个挑战中,您将概括化制作它们的过程。 输入项 字符串(或等效字符串)和整数。您可以对输入做出以下假设: 该字符串的长度将为奇数。 整数将是小于字符串长度两倍的1到1之间的奇数。 输出量 字符串的字面迷宫,使用整数作为高度或宽度(有关高度示例,请参见模型)。输出应为每个字母,不带空格,默认情况下,系统/语言均使用换行符。 测试用例 请注意,输入1或(长度* 2-1)将导致水平或垂直回文。 Input: FOO, 3 Input: BAR, 1 Input: BAR, 3 Input: BAR, 5 Output: OOO Output: RABAR Output: RAR Output: R OFO ABA A OOO RAR B A R Input: ABCDE, 5 Input: ABCDE, 3 Input: *<>v^, 5 …
22 code-golf  string 

23
倒置的金字塔加法…反转!
倒置金字塔加法是获取一个数字列表并将其连续加在一起直到达到一个数字的过程。 给出数字后,2, 1, 1将发生以下过​​程: 2 1 1 3 2 5 这以数字结尾5。 你的任务 给定“颠倒金字塔”(升序)的右侧,编写将返回原始列表的程序或函数。 新的额外挑战:尝试在小于O(n ^ 2)的范围内进行操作 例 f([5, 2, 1]) => [2, 1, 1] f([84,42,21,10,2]) => [4,7,3,8,2] 注意:倒置金字塔永远不会为空,并且将始终仅由正整数组成。

16
哪个大数字更大?
输入项 整数a1,a2,a3,b1,b2,b3的范围均为1到20。 输出量 True if a1^(a2^a3) > b1^(b2^b3) and False otherwise. ^是这个问题的幂。 规则 这是代码高尔夫球。对于标准台式机上的任何有效输入,您的代码必须在10秒内正确终止。 您可以输出True或True,False和False。 您可以假设自己喜欢的任何输入顺序,只要在答案中指定了输入顺序即可,并且始终保持相同。 对于这个问题,您的代码应始终正确。那就是因为浮点数的不正确,它不会失败。由于输入范围的限制,这应该不会太难实现。 测试用例 3^(4^5) > 5^(4^3) 1^(2^3) < 3^(2^1) 3^(6^5) < 5^(20^3) 20^(20^20) > 20^(20^19) 20^(20^20) == 20^(20^20) 2^2^20 > 2^20^2 2^3^12 == 8^3^11 1^20^20 == 1^1^1 1^1^1 == 1^20^20
22 code-golf 

20
这是一项年度任务,好
给定数字1≤n≤365,以“天数月”格式输出一年中的第n天。例如,给定1,您应输出“ 1st January”,不带“ of”。 将使用公历,该程序不应计入leap年,因此您的程序在任何情况下均不应输出“ 2月29日”。只要遵循前面提到的“日数月”格式,就可以使用任何方法。您的程序还应该正确输出序号,这意味着它应该始终输出1st,2nd,3rd,应该分别将1、2或3作为任何输入的日期。允许前导空格或其他缩进。 这是代码高尔夫,所以最短的解决方案就是胜出。 测试用例: 1 gives 1st January 2 gives 2nd January 3 gives 3rd January 365 gives 31st December 60 gives 1st March 11 gives 11th January
22 code-golf  date 

13
八枚金币
这是另一个谜题的“对应”,即 Puzzling.SE上的公平之王的八枚硬币。 您可以阅读以上背景拼图。有关此难题的详细信息如下。 创建了一组8种不同值的硬币,国王希望您找出最大的N,以便可以使用不超过8个硬币的组合并免费支付从0到N的任意数量的价格。 例如,(摘自Glorfindel的答案)。如果给出一组值分别为1、2、5、13、34、89、233、610的硬币,则程序应输出1596,因为0到1596(含)之间的每个数字都不能用总和表示给定列表中的8个数字(数字可以重复),而1597不能以这种方式表示。 以数学的方式,如果输入是由8个正整数组成的集合S,则所需的输出N满足对于介于0和N之间的任何数字n的情况,存在x1,x2,x3,...,x8,从而 x1+x2+...+x8=nandx1,x2,...,x8∈{0}∪Sx1+x2+...+x8=nandx1,x2,...,x8∈{0}∪小号x_1 + x_2 + ... + x_8 = n \quad\textrm{and}\quad x_1, x_2, ...,x_8 \in \{0\} \cup S 您的目标是编写一个程序,一个函数或一个片段,以8个数字作为输入,并如上所述输出最大N。 规则: 允许灵活的I / O,因此您的程序可以采用最合适的任何形式进行输入。您可能会假设输入数字的排序方式最适合您的程序。 如果您的程序取决于输入顺序,请在答案中注明 输入是一组8个不同的正整数(无零)。输出是一个非负整数。 如果输入集中没有1,则您的程序应输出0,因为从0到0的任何数字都满足要求。 在输入无效的情况下(集合包含零,负或重复的数字),您的程序可以执行任何操作。 禁止出现标准漏洞。 您的程序应在几分钟后在现代计算机上运行。 测试用例(大部分取自有关“困惑”的链接问题下的答案): [1, 2, 3, 4, 5, 6, 7, 8] => 64 [2, 3, 4, 5, 6, …

19
位浮点序列
从LSB到MSB都有一点浮动,每次移动一个位置,直到它浮动到容器的顶部为止: 0000 0001 0010 0100 1000 一旦一位浮到顶部,另一位开始其旅程,并在遇到另一位时停止: 1001 1010 1100 直到容器中填充了位,这种情况才会发生: 1101 1110 1111 挑战 给定一个整数,输出该位数的容器的“ 位浮点序列 ”。 序列的每个术语都可以由您选择的任何分隔符分隔。 编辑:序列必须显示为十进制整数,从第一个therm:开始0。 容器大小应大于零,并且最多为您选择的语言支持的最大整数的位数。您可以假定输入始终符合此要求。 例子 仅需要数字序列,以二进制表示为例: 对于1:0 1 0 -> 0 1 -> 1 对于3:0 1 2 4 5 6 7 000 -> 0 001 -> 1 010 -> 2 100 -> 4 …

22
重叠的字符串块
挑战: 给定多行字符串的列表,将它们重叠(在左上角)并输出结果。 例: 输入:["aaaa\naaaa\naaaa\naaaa","bb\nbb\nbb","c"] 输出: cbaa bbaa bbaa aaaa 挑战规则: 输入格式灵活。允许您以2D行列表(即[["aaaa","aaaa","aaaa","aaaa"],["bb","bb","bb"],["c"]])或3D字符列表(即)获得输入[[["a","a","a","a"],["a","a","a","a"],["a","a","a","a"],["a","a","a","a"]],[["b","b"],["b","b"],["b","b"]],[["c"]]]。您可以通过STDIN一对一地接受所有输入。等等。 输出格式严格。您可以选择打印或返回多行字符串。(如果您的语言没有任何字符串,则可以选择将其输出为2D字符列表。但前提是您的语言完全没有字符串。) 输入列表的顺序当然很重要(但是,如果选择这样做,则可以反向输入)。 输入将只包含在Unicode范围可打印ASCII [ 33 ,126 ][33,126][33,126](!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)。 输入将仅是矩形(因此没有奇怪的形状)。不过,输出不是必需的矩形。 尾随空格和单个尾随换行符是允许的。前导空格和/或换行符不行。 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于具有默认I / O规则的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法以及返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接(即TIO)。 另外,强烈建议为您的答案添加说明。 测试用例: 输入:["aaaa\naaaa\naaaa\naaaa","bb\nbb\nbb","c"] 输出: cbaa bbaa bbaa aaaa 输入:["12345\n54321","00\n00\n00\n00","001\n011\n012"] 输出: 00145 01121 012 00 输入:["sm\noo\nmr\nee\nt!\nh_\ni_\nn_\ng_","!@#$%^\n&*()_+\nqwerty\nuiopas","this\nis_a\ntest"] 输出: this%^ is_a_+ testty uiopas …

13
多种颜色的外套
挑战 给定一个唯一的颜色名称列表作为输入,按它们在约瑟夫的《惊人的彩色彩色梦coat》中首次出现的顺序对其进行排序。 例 Input: green, blue, red, brown Output: red, green, brown, blue 颜色的完整列表按顺序是: 1. red 2. yellow 3. green 4. brown 5. scarlet 6. black 7. ochre 8. peach 9. ruby 10. olive 11. violet 12. fawn 13. lilac 14. gold 15. chocolate 16. mauve 17. cream 18. crimson …

15
图片输出视觉图
编写一个程序,为画框的肖像输入绘画的尺寸,消光宽度和画框宽度。程序应使用符号将图形输出X为绘画,+消光和#框架。这些符号必须以空格分隔。只要输出在视觉上符合条件,尾随空格就可以。输入可以是0。 输入:3 2 1 2(宽度,高度,遮罩宽度,框架宽度) 输出: 以文本形式: # # # # # # # # # # # # # # # # # # # # + + + + + # # # # + X X X + # # # # + X X X + …

18
播放Zip,Zap,Zop
有一个临时改进的热身游戏,您可以将自己排列成一个圆圈,并通过指向一个人并说出序列中的下一个单词来发送拉链,快速键和快速键,然后他们进行相同的操作,直到所有人热身或随你。 您的任务是创建一个程序,该程序在给定输入单词的情况下按顺序给出下一个单词。(Zip-> Zap-> Zop-> Zip)由于可以使用多种不同的方式来表达这三个单词和风格,因此程序应模仿大小写和字母重复并带有后缀。 详细地说,您输入的内容将是一个或多个Zs,然后是一个或多个Is,As或Os(都相同的字母),然后是一个或多个Ps(到目前为止所有字母都可能是混合大小写),然后是一些任意的后缀(可能为空)。您应该完全保留Zs和Ps的行程以及后缀,但应将s 更改为Is,将As 更改A为Os,或将Os更改为Is,以保留大小写。 示例测试用例 zip ==> zap zAp ==> zOp ZOP ==> ZIP ZiiP ==> ZaaP ZZaapp ==> ZZoopp zzzzOoOPppP ==> zzzzIiIPppP Zipperoni ==> Zapperoni ZAPsky ==> ZOPsky ZoPtOn ==> ZiPtOn zipzip ==> zapzip zapzopzip ==> zopzopzip zoopzaap ==> ziipzaap 规则和注意事项 您可以使用任何方便的字符编码进行输入和输出,前提是该字符编码支持所有ASCII字母并且是在此挑战之前创建的。 您可以假设输入单词是Zip,Zap或Zop的某种变体。所有其他输入都会导致未定义的行为。 有效输入将完全匹配正则表达式Z+(I+|A+|O+)P+.*(混合使用) 高尔夫快乐!
22 code-golf  string 

24
计算三角形数量
给定一个正整数列表,找到我们可以形成的三角形数量,以使三角形的边长由输入列表的三个不同条目表示。 (灵感来自CR。) 细节 如果三个边长a ,b ,c的所有排列都满足严格的三角形不等式a + b > c ,则可以形成三角形。(这意味着a + b > c,和必须全部成立。)a,b,ca,b,ca,b,ca+b>c.a+b>c.a + b > c.a+b>ca+b>ca+b > ca+c>ba+c>ba+c>bb+c>ab+c>ab+c>a 三个边长必须出现在列表中的不同位置,但不一定必须成对地分开。a,b,ca,b,ca,b,c 输入列表中三个数字的顺序无关紧要。如果我们考虑一个列表a和三个数字a[i], a[j], a[k](i,j,k两两互不相同),那么(a[i],a[j],a[k]), (a[i],a[k],a[j]), (a[j], a[i], a[k])等等都被视为同一个三角形。 可以假定输入列表至少包含3个条目。 您可以假定输入列表按升序排序。 例子 可以在“ 在线试用”上找到一个小型测试程序! Input, Output: [1,2,3] 0 [1,1,1] 1 [1,1,1,1] 4 [1,2,3,4] 1 [3,4,5,7] 3 [1,42,69,666,1000000] 0 [12,23,34,45,56,67,78,89] 34 …

30
字符串旋转-输出字符串重复将第一个字符移到末尾
这里的挑战是要取一个字符串并输出其所有旋转值,方法是将第一个字符重复移动到末尾,每个字符串中的每个字符一次,以原始字符串结尾: john -> ohnj, hnjo, njoh, john 您也可以从另一个方向循环移动字符: john -> njoh, hnjo, ohnj, john 即使在此之前到达原始单词,您仍然应该每个字母旋转一圈: heehee -> eeheeh, eheehe, heehee, eeheeh, eheehe, heehee 字符数组是允许的,只要结果如上所示即可。 最短答案胜出!
22 code-golf  string 

14
这些是什么数字?
当我写数字时,过了一会儿我发现键盘上的Shift按键被按下和锁定,而我写的只是$%&类似字符。更糟糕的是,我一直在英语和西班牙语键盘布局之间切换,所以我不知道我为每个数字使用哪个键盘布局。 挑战 给定包含符号字符的字符串,请尝试猜测我写的数字。Shift按下时,键盘会为数字产生以下字符: 1234567890 ---------- !"·$%&/()= Spanish layout !@#$%^&*() English layout 输入将是一个由上述符号组成的非空,非空字符串。 如果可以从字符串中推断出键盘布局(例如,如果字符串包含@英语布局,并且如果字符串包含"西班牙布局,则输出)将是单个数字,或者对于两种布局(即,输入是!$意为14两种布局); 否则,如果无法推断输出且结果数字不同,则输出将是两种布局的两个可能数字。 输入字符串将始终以单个布局编写。因此,您不需要期望"@输入。 例子 Input --> Output ------------------ /() 789 (Spanish layout detected by the use of /) $%& 456,457 (Layout cannot be inferred) !@# 123 (English layout detected by the use of @ and #) ()&! 8961,9071 …

28
做一个简单的自动包装
(注意:这是我有史以来第一个关于高尔夫的代码问题,但是据我所知,没有人能完全做到这一点,所以我应该很好。) 您的任务是制作一个程序或函数,该程序或函数接受一个字符串s和一个整数n,并返回或输出包装成多行的文本。每个单词必须全部在一行上;即中间没有字。每行的n字符长度不能超过字符,并且每行中必须包含尽可能多的单词。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

2
子集总和排序
一组n正数具有2^n子集。如果这些子集的总和都不相同,则将其称为“ nice”。{2, 4, 5, 8}就是这样的一套。由于没有一个子集具有相同的总和,因此我们可以按总和对子集进行排序: [{}, {2}, {4}, {5}, {2, 4}, {2, 5}, {8}, {4, 5}, {2, 8}, {2, 4, 5}, {4, 8}, {5, 8}, {2, 4, 8}, {2, 5, 8}, {4, 5, 8}, {2, 4, 5, 8}] 如果我们标记数字 [2, 4, 5, 8]用符号按升序,则将[a, b, c, d]获得以下抽象顺序: [{}, {a}, {b}, {c}, …

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.