Questions tagged «code-golf»

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

30
检查字符串是否完全由相同的子字符串组成
这是从这个问题中获得的(当然需要允许)。我会引用: 创建一个接受字符串的函数,该函数应根据输入是否仅包含重复的字符序列来返回true或false 。给定字符串的长度始终大于1,并且字符序列必须至少重复一次。 一些例子: 'aa' //true 'aaa' //true 'abcabcabc' //true 'aba' //false 'ababa' //false 'weqweqweqweqweqw' // false 具体来说,检查严格由重复子字符串组成的字符串(Update)可以输出任何真或假表示,但请不要输出错误。严格的字母数字字符串。否则为标准代码高尔夫球规则。这是Code Golf,因此每种语言的最短答案(以字节为单位)获胜。

17
谁赢得了酒吧骰子游戏?
挑战 Bar Dice是在带有Dice的Bar(因此得名)中玩的简单游戏。您掷出5个六面骰子,并尝试做出最佳手牌。 计分基于累积相同位数的最大骰子数。每只手必须至少包含一个“ A”或一个,才能成为有效手;ace充当“野生字符”,并且可以与任何其他数字配对。牌手的力量首先取决于数字的位数,然后取决于这些数字的值。例如,具有四个3的一手(算出百搭)要比具有三个5的一手好,但并不比具有五个2的一手好。 摘自维基百科文章 这意味着排名最高的牌完全由6和1组成,而排名最低的牌是没有1的任何牌。 您面临的挑战是用两只手并返回哪个玩家赢了,或者他们是否平局。 输入项 两个未排序的5个数字列表,范围从1到6。每个列表代表玩家的手。输入格式灵活。 输出量 任何三个不同但一致的静态值(不允许范围)表示玩家1或玩家2赢了,还是平局。请在您的答案中说明您正在使用什么值。例如,-1如果P1获胜,0平局且1P2获胜,则可以返回。 规则 输入将始终有效 仅使用每手的最佳得分来确定获胜者。没有决胜局。例如,[1,4,4,3,3]将平局,[1,4,4,2,2]而不是使用3和2作为平局决胜局。 每次输出必须是3个选定值之一。P1 Wins不允许简单地将所有负数映射到,并且必须将其标准化。 无效手,即那些没有1的手,将输给所有有效手,但与所有其他无效手并列。例如,[2,2,2,2,2]领带[3,3,3,3,3]。 一手[1,1,1,1,1]算作有效的一组6,用于排名。 这是代码高尔夫球,因此最短的字节数为准。 例子 #You guys are pretty good at finding edge-cases that break things. Good job! Input: [2,1,5,6,6], [6,2,6,6,6] Output: P1 Wins Input: [2,4,5,6,6], [6,2,6,6,6] Output: Tie Input: [1,2,3,4,5], [5,4,3,2,1] Output: Tie …

30
四舍五入
四舍五入 受回合趋于零的启发。 给定通过任何合理方法输入的数字,请将数字“远离零”四舍五入-正数向上取整,负数向下取整。 如果打算将输入作为字符串(例如通过STDIN),则应该能够处理带或不带小数点的数字。如果将其视为数字,则它至少应能够处理浮点精度(不需要双精度)或有理数。 如果需要,您可以输出带小数点的浮点数(例如42.0)。(或者甚至有一些测试用例输出浮点数,有一些输出整数,如果这会使您的答案更短)。 不允许有标准漏洞,等等。 测试用例 -99.9 => -100 -33.5 => -34 -7 => -7 -1.1 => -2 0 => 0 2.3 => 3 8 => 8 99.9 => 100 42.0 => 42 -39.0 => -39 沙盒链接
24 code-golf  number 

11
绘制此菱形图案
以下模式将构成这一挑战的基础。 /\ \/ /\ / \ / \ /\/ \/\ \/\ /\/ \ / \ / \/ /\ \/ 在给定输入宽度和高度的情况下,每个都>=1重复输出上述ASCII艺术图案多次,并在小菱形处接合(并重叠)。 例如,这是带有width = 2和的输入height = 1: /\ /\ \/ \/ /\ /\ / \ / \ / \ / \ /\/ \/\/ \/\ \/\ /\/\ /\/ \ / \ / \ …

25
打印顺序
21、21、23、20、5、25、31、24 、? 受此拼图的启发,给定n > 0ñ>0n>0的整数,请打印出以下顺序,直到达到非整数为止(如果您想先自己解决难题,则提示错误) 一种0= n一种0=ña_0 = n 一种4 k +1=一个4千⋅ (4 ķ + 1 )一种4ķ+1个=一种4ķ⋅(4ķ+1个)a_{4k+1} = a_{4k} \cdot(4k+1) 一种4 k + 2= 一个4 k + 1+ (4 k + 2 )一种4ķ+2=一种4ķ+1个+(4ķ+2)a_{4k+2} = a_{4k+1} + (4k+2) 一种4 k + 3= 一个4 k + 2− (4 k + 3 )一种4ķ+3=一种4ķ+2-(4ķ+3)a_{4k+3} …

1
为简单的反向波兰符号编程语言优化编译器
描述 虚构编程语言(IPL)使用波兰语反向表示法。它具有以下命令: 一世 -输入数字并将其推入堆栈 Ø堆栈的非破坏性输出顶部(数量保留在堆栈上) d-丢弃栈顶 整数 -将这个数字压入堆栈 +-* -从堆栈中弹出两个数字,执行相应的操作并将结果推回。IPL中没有划分。 IPL仅适用于整数,并用于简单计算。IPL程序写在一行上,并用空格分隔。空字符串是有效的IPL程序。 IPL计划: i i + o 输入两个数字,将它们加在一起并输出结果。 可以压入堆栈的输入数字和整数在[-999,999]范围内,但是输出可以是任意数字。如果您的语言不支持大数字,则可以。 输入/输出格式 您可以选择任何输入/输出格式,只要可以理解和读取/写入即可:字符串,列表,标记等。 任务 为您提供了一些IPL程序,您需要对其进行优化(减少长度): i 12 + 3 + o d 2 3 + d 优化后将成为 i 15 + o 您不必保留堆栈状态,但是输入和输出的数量及其顺序应与原始程序和优化程序相匹配。 所以IPL程序: -40 i * 2 * o i + 3 1 …

30
!插入!n!b!e!t!w!e!n!
从这里发布。 这个问题高度“提炼”了这个问题。特别感谢@Akababa! 在此任务中,您应该在字符串的开头和每个字符之后插入一个感叹号。 规则 始终会有一个非空字符串输入。输入也将不包含选项卡。您可以假定输入仅包含不可扩展的ASCII可打印字符和换行符。 只要您的语言无法检测到换行符,输入内容就不会包含尾随的换行符。 这是一场代码高尔夫比赛;最短的答案应该会赢。 例子 4个换行符导致5个换行符分隔的感叹号。很难将其作为Markdown文本,因此改为声明。 1 2 3 4 5 6 129591 129012 129127 129582 0 产出 1!!2!!3!!4!!5!!6! !1!2!9!5!9!1!1!2!9!0!1!2!!1!2!9!1!2!7!!1!2!9!5!8!2! ! !0! asd afjoK ak:e kPrLd fOJOE; KFO KFkepjgop sgpaoj faj 产出 !!!!a!f!j!o!K!!a!k!:!e! !k!P!r!L!d! !!!!f!O!J!O!E!;! !!!!!K!F!O! !K!F!k!e!p!j!g!o!p!s!g!p!a!o!j!!!f!a!j! 一个只有一个字符的基本测试用例: 一种 产出 !一种! (自动完成!只是在开玩笑,没有这样的东西。)包含感叹号: !! !! !! !! !! …
24 code-golf  string 

14
数字螺旋问题
数字螺旋是一个无限网格,其左上角的正方形具有数字1。这是螺旋的前五层: 您的任务是找出y行和x列中的数字。 例: Input: 2 3 Out : 8 Input: 1 1 Out : 1 Input: 4 2 Out : 15 注意: 允许使用任何编程语言。 这是一个代码高尔夫挑战,因此最短的代码获胜。 祝你好运! 资料来源:https : //cses.fi/problemset/task/1071
24 code-golf  math 

15
所有的单八
给定一个从0to到的整数的非空矩形数组9,输出的是8和没有相邻的像元的数量为8。这里,在摩尔意义上理解相邻,即包括对角线。因此,每个单元都有8邻居,除了阵列边缘的单元之外。 例如,给定输入 8 4 5 6 5 9 3 8 4 8 0 8 6 1 5 6 7 9 8 2 8 8 7 4 2 输出应为3。以下是三个合格单元格,并标有星号(但仅应输出此类条目的数量): * 4 5 6 5 9 3 8 4 * 0 8 6 1 5 6 7 9 * 2 8 8 …

18
发音排序™
我们都知道不同的花式排序算法,但是这些算法都没有以易于发音的方式为我们提供数字。为了解决这个问题,我建议使用VoiceSort™,这是对数字列表进行排序的最自然的方法。 发音 发出数字的正式规则(在此挑战中)是数字被一个一个地发音,并且结果字符串按字典顺序排序。例如,这意味着该数字845是发音的"eight four five",应进行相应的排序。 负数 负数是通过在单词前面加上字母来发音的"minus"。因此,-23发音为"minus two three"。请注意,这会导致负数最终出现在输出的中间,正好在以4(4)和9(9)开头的数字之间。 作为指导,ForeignSort™的正式词序为: 八 五 四 减去 九 一 七 六 三 二 零 那是, 8, 5, 4, -, 9, 1, 7, 6, 3, 2, 0 输入项 范围为的整数列表,最多包含100个元素。不允许输入为字符串列表。如果您的语言不支持输入为列表,则可以将输入作为单独的整数输入。[ - 999 ,999 ][-999,999][-999, 999] 输入将不包含任何无效数字或任何以0开头的数字(数字本身除外)。输入通常不会排序,可以按任何顺序给出。 输出量 相同的整数,以VoiceSort™顺序排列。请注意,仅应将数字转换为其发音以进行排序,输出不应包含任何字符串。 例子 对于示例,中间步骤(用括号括起来)仅用作指导,而不是输出的一部分。 [1, 2, 3] -> (['one', …

15
矩阵拼图
输入: 一个整数 n 两个相等大小的正方形矩阵(其宽度/高度为的倍数n) 输出: 一个你自己选择的两个不同的值,一个是用于truthy结果,一个用于falsey结果(所以是的,1/0而非true/false是像Java语言的有效输出,即使他们不视为正式truthy / falsey值)。 正确/错误输出指示我们是否可以n by n在一个矩阵中重新排列大小的块以使其等于另一个矩阵。 例: 输入: Matrix 1: 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0 9 8 1 1 1 1 1 …

25
新邻居序列
非负整数总是无聊的拥有两个相同的邻居,所以他们决定将它们混为一谈。但是,他们也很懒惰,想尽可能地靠近自己的原始位置。 他们提出了以下算法: 第一个元素是0。 所述nthnthn^{th}元件是尚不存在于序列中,并且不是的邻居的最小数目元件。(n−1)th(n−1)th(n-1)^{th} 这将生成以下无限序列: 0,2,4,1,3,5,7,9,6,8,10,12,14,11,13,15,17,19,16,18,20,22,24,21,23,25,27,29,26,28 ... 0是第一个元素。1是尚未在序列中的最小数字,但它是的邻居0。下一个最小的数字是2,因此它是序列的第二个元素。现在剩下的数字是1,3,4,5,6,...,但作为1和3的邻居2,4是序列的第三个成员。由于1不是的邻居4,它最终可以代替第四元素。 任务 编写尽可能少的字节的函数或程序,以生成上述序列。 你可以 无限输出序列 输入并返回序列的元素,或者nnnnthnthn^{th} 接受输入并返回序列的前元素。nnnnnn 如果选择后两个选项之一,则零索引或一索引都可以。 您不需要遵循上面给出的算法,任何产生相同序列的方法都可以。 灵感来自Code golf的最佳排列。原来这是A277618。 *零实际上只有一个邻居,并不在乎。

17
整数按其数字根排序
正整数的数字根(也是重复的数字和)是在每次迭代中使用前一次迭代的结果来计算数字总和的,通过对数字求和的迭代过程获得的(单个数字)值。该过程一直持续到达到一位数字为止。 例如,65536的数字根为7,因为6 + 5 + 5 + 3 + 6 = 25和2 + 5 = 7。 对所有数字根进行排序没有多大意义,因为它只会以无限多个1 s开始。 取而代之的是,我们将创建所有单个数字整数及其数字根的列表,然后是所有两位数字及其数字根的列表,然后是三倍,四倍等等。 现在,对于这些列表中的每一个,我们将对其进行排序,以使所有数字根为1的整数首先出现,然后所有数字根为2的整数出现,依此类推。排序将是稳定的,因此具有一定数字根的整数列表在排序后应按升序排列。 最后,我们将这些列表连接成一个序列。此序列将从所有个位数开始,然后是所有两位数(按其数字根排序),然后是所有三位数,依此类推。 挑战: 以一个正整数n作为输入,并按上述顺序输出第n个数字。您可以选择列表是0索引还是1索引。 该序列如下所示: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 28, 37, 46, 55, 64, 73, 82, 91, 11, 20, 29 ... 72, 81, 90, …

10
骑士距离
在国际象棋中,网格(x,y)上的骑士可能会移动到(x-2,y-1),(x-2,y + 1),(x-1,y-2),(x-1, y + 2),(x + 1,y-2),(x + 1,y + 2),(x + 2,y-1),(x + 2,y + 1)。想象一个无限的棋盘,只有一个骑士在(0,0)上: 将骑士从(0,0)移到(t x,t y)需要多少步骤? 输入项 两个整数:t x,t y; -100 <t x <100,-100 <t y <100 输出量 将骑士从(0,0)移至(t x,t y)所需的最小步伐。 规则 高尔夫代码 测试用例 x y -> out 0, 0 -> 0 0, 1 -> …

3
在赛道上比赛
我正在寻找周围最快的赛车手。告诉我您在如下所示的18x14赛道上最快的圈速。 ______ / \ / \ / ____ \ / / \ \ / / \ \ | | | | | | | | | | | | | | | | \ \ / / \ \____/ / \ / \ / \______/ 您的工作是在所有可能的位置将汽车移到轨道下方。 _ | | |_| …

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.