Questions tagged «code-golf»

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

1
下雪!
您的任务:生成第n个深度的科赫雪花。您无需制作完整的Koch雪花,只需在起始三角形的一侧即可。关于科赫片的维基百科:https : //en.wikipedia.org/wiki/Koch_snowflake。 规则: 该程序必须将Koch雪花的一侧生成到第n个深度。 输出必须为ASCII。 您可能会生成整个雪花;这不是必需的。 输入/输出,漏洞和内容的标准规则适用。 空格并不重要,只要所有字符之间的相对位置正确即可。 最短的代码胜出! 测试用例: n = 0: __ n = 1: __/\__ n = 2: __/\__ \ / __/\__/ \__/\__ n = 3: __/\__ \ / __/\__/ \__/\__ \ / /_ _\ \ / __/\__ __/ \__ __/\__ \ / \ / \ …

10
这就是我们滚动的方式
出于多种原因,Piet是一种有趣的编程语言。今天,我们将集中讨论一个原因:roll命令。roll命令最初来自PostScript,是一种操作堆栈的有效方法。 roll命令弹出堆栈的顶部两个元素,并将它们用作参数。我们将第一个弹出turns的值称为第二个值depth。转到深度n将占据堆栈的最顶部元素,使其成为堆栈中的第n个元素,并将其上方的每个元素向上移动一个。如果turns 为负,则朝相反方向进行。也就是说,第n个元素移到顶部,而其他元素下移。这是重复的abs(turns)次数。 挑战 编写一个程序或函数,该程序或函数接受堆栈并在执行滚动后返回该堆栈。 规则 输入和输出可以是列表,数组,带定界符的字符串,一次传入一个元素或任何其他合理格式。输出必须与输入具有相同的格式。 depth 永远不会为负,也永远不会大于堆栈的长度。 输入堆栈将始终包含至少两个元素。 这是代码高尔夫球,因此每种语言中最短的答案将获胜。因此,我不会接受答案。 禁止出现标准漏洞。 测试用例 in: out: 2 4 1 3 2 4 3 1 4 2 5 5 6 6 in: out: -2 3 1 2 2 3 3 1 in: out: -42 0 1 1 2 2 3 3 4 …
18 code-golf  stack 

30
创建一个代码块工具
正如我希望您知道的那样,在SE网络上使用标记时,在一行文本之前的四个空格的缩进表示它是代码块的一部分。如果不这样做,这是一个示例(.代表一个空格): ....代码 ....更多代码 结果是 Code More code 问题是,将代码复制粘贴到答案中时,需要手动缩进每一行。当使用非高尔夫代码时,这尤其困难,因为它可能已经缩进并可能引起混乱。Ctrl + K事实证明,您只需选择您的代码并点击即可。我一生的时间无缘无故地浪费了... 因此,您的目标是,在给定输入的情况下,在每行之前以四个空格返回它。本着节省复制粘贴时间的精神,您将整个输入作为单个字符串处理(只要您的语言可以解析它)。如果您的语言无法处理字符串中的字符(例如换行符),则可以假定通过该语言支持的其他方法来表示/转义该字符;但是,输出必须在其自己的行上输出每一行(因此,请勿传递....foo\n....bar)。 不允许出现标准漏洞。因为这是代码高尔夫球,所以最短的答案以字节为单位。祝好运!

8
输入号码;输出行号
高尔夫代码 完全真实的背景故事:我是在网站www上工作的承包商。Sky.Net和我们的任务之一就是创建一些自我意识的程序或其他东西,我不知道我不是在听老板的话。无论如何,为了使我们的代码更具自我意识,我们需要IT部门能够知道每个行号上的代码。 挑战 创建一个接受输入n并在线返回所述程序或函数代码的程序或函数n。 规则 program您的程序或函数必须至少有4行。每行必须唯一。 ➋您可以假设输入将始终是一个大于或等于1且小于或等于程序/函数中的行数的正整数。 program程序/功能的第一行是第1行,而不是第0行。 can您无法访问程序所在的文件。(如果有人要问“这在技术上是否违反规则4”,可能是) ➎行不能为空(如果空格对您的语言没有任何作用,则必须包含空格) ➏行不能是//注释(任何<!-style的/ *) 这是一个类似于quine的挑战, 这是code-golf,所以字节最少的提交会获胜!
18 code-golf  quine 

30
强盗-平方乘平方根
任务:破解加扰码,将整数n的平方根乘以它的平方! 您必须在警察的主题中发布评论,并带有指向您的工作源的链接,并明确提及您已经破解了它。在答案的标题中,必须包含原始答案的链接。 规则: 您只能更改原始源中字符的顺序。 安全答案再也无法破解。 警察线程中提到的其他规则 请编辑您破解的答案 优胜者:艾米娜(Emigna)-10个子弹(计数有些麻烦) 荣誉提名:Notjagan,Plannapus,TEHTMI

14
Bleeeet Bleeeet Bl Bleet!
(含义:将英语转换为Bleet) 多年来,我们一直称赞山羊为神。 但是,如果我们无法将英语翻译为山羊神的语言“ Bleet”,我们将无法与他们交流。 因此,为了与他们交流,我们研究了山羊的活动,并检索了这种模式,这是该语言的核心。 对每个单词的长度说“ Bleet”。这意味着对于大于3个字母的单词,``e''的数量应为(length-3)。对于小于``Blt''的单词,应减少``Bleet''的数量。例如,“ be”变成“ bl”,但是“ cat”和“ boat”变成“ blt”和“ blet”。 看起来,他们实际上并没有将非字母字符更改为“ Bleet”。我们的研究表明,“世界,您好!” 对Bleet来说是“ Bleet,Bleet!” 不是“ Bleeet Bleeet”。另外,山羊也不是那么聪明(没有冒犯性),所以他们似乎根本不懂非ASCII字符或变音符号。 现在,是时候让翻译与山羊神交流了。 Bleeeeet(含义:示例) Hello, World! => Bleet, Bleet! lorem ipsum dolor sit amet. => Bleet Bleet Bleet Blt Blet. We praise the Goat God! => Bl Bleeet Blt Blet Blt! I …
18 code-golf  string 

8
漂亮的图案抽屉(包括小立方体)
漂亮的花纹抽屉 早安PPCG! 前几天,当我试图帮助Stack Overflow上的某个人时,他的问题的一部分使我对这一挑战有所了解。 首先,检查以下形状: 其中所有黑色数字是形状中点的索引,所有深蓝色数字是这些点之间的链接的索引。 现在,给定一个从0x00000到0xFFFFF的十六进制数字,您需要在控制台中仅使用字符空间和“■”绘制形状(也可以使用字符“ o”)。 以下是输入十六进制数并输出形状的一些示例: 0xE0C25 : ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ 0xC1043 : ■ ■ ■ ■ ■ …

3
找到身份沙堆
这个问题是关于阿贝尔沙堆的。阅读此先前的挑战,并观看此亲密视频以了解更多信息。 大小为n × n的阿贝尔沙堆是一个包含数字0、1、2和3(代表沙粒数量)的网格。添加两个沙堆的工作方式是:先逐个元素地添加元素,然后对高于3的任何元素进行推倒。推倒的顺序无关紧要,最终结果是相同的。当一个单元倾倒时,其数量减少4,而其每个直接相邻单元的数量增加1。这可能导致链反应。如果单元格位于网格的边缘,则在倾倒时掉落到网格上的所有颗粒都会消失。 例如,我要添加两个三乘三的沙堆(产生非常极端的连锁反应): 3 3 3 1 2 1 4 5 4 4 6 4 6 2 6 6 3 6 2 5 2 4 1 4 4 2 4 0 4 0 2 0 2 2 1 2 3 3 3 + 2 1 2 = 5 …

17
最高x斐波那契数的素数斐波那契数的算术平均值
您应该已经听说过斐波那契数列,通常称为斐波那契数列。在此序列中,前两项为0和1,前两项之后的每个数字均为前两项的总和。换句话说,F(n) = F(n-1) + F(n-2)。 以下是前20个斐波那契数字: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 任务: 给定一个整数x,计算素数斐波那契数的算术平均值(平均值),直至x斐波那契数列的数量。 规则: 该挑战的斐波那契数列以0和1开头 3 < x < 40,因为较高的值x可能会导致一些巨大的执行时间或溢出,而较小的值则没有输出 1 不是质数,因为它只有1个除数 如果是这种情况,则算术平均值应包含小数,否则应显示为精确的分数 仅允许您将其x作为输入,并且接受输入所需的代码不计算在内(例如:如果您需要类似的信息x = input(),则在计算字节数时不应将其考虑在内) 例子: 例如 1:对于x=10,输出为5.75,因为第十个斐波那契数为55,而最高达的素数斐波那契数55为2, 3, 5, 13,其平均值为5.75 根据示例1的说明,其他示例是: 例如 2:对于x=15,输出为57.5 …

7
图中最长的周期
给定有向图,输出最长的周期。 规则 允许使用任何合理的输入格式(例如,边列表,连接矩阵)。 标签并不重要,因此您可以对需要和/或期望的标签施加任何限制,只要它们不包含输入中未提供的其他信息即可(例如,您不能要求循环中的节点为标有整数,其他节点标有字母字符串)。 循环是指所有连接的节点序列,除了作为循环开始和结束的节点([1, 2, 3, 1]是循环,但[1, 2, 3, 2, 1]不是循环节点)以外,没有节点重复。 如果该图是非循环的,则最长周期的长度为0,因此应产生一个空输出(例如,空列表,完全没有输出)。 在循环中的节点列表末尾重复第一个节点是可选的([1, 2, 3, 1]并[1, 2, 3]表示相同的循环)。 如果存在多个相同长度的循环,则可以输出其中一个或全部。 允许使用内置函数,但是如果您的解决方案使用一个内置函数,则建议您包括一个不使用琐碎内置函数的替代解决方案(例如,输出所有周期的内置函数)。但是,替代解决方案完全不会计入您的分数,因此它是完全可选的。 测试用例 在这些测试案例中,输入以边列表的形式给出(其中第一个元素是源节点,第二个元素是目的节点),输出是不重复第一个/最后一个节点的节点列表。 [(0, 0), (0, 1)] -> [0] [(0, 1), (1, 2)] -> [] [(0, 1), (1, 0)] -> [0, 1] [(0, 1), (1, 2), (1, 3), (2, 4), …

7
数平方
挑战 折纸(折纸)是一种创造性的艺术形式。据我所知,折纸大师更喜欢方形纸。让我们从头开始-将矩形纸转换为正方形纸。 因此,纸张分为正方形。我们逐步删除与当前形状共有一个较短边的最大正方形(请参见下图)。并且,如果一步之后的剩余部分小于或等于0.001 * (area of the original paper),则无法进一步分割纸张。最后可能什么也没剩下。 您的任务是计算在此过程中制作了多少个正方形。使纸张无法分割的最后一步的平方计入输出。 示例(1.350宽度/高度的纸张),输出为10: 输入输出 输入:矩形纸的宽度/高度比,从1.002到的十进制数(或不带点的整数),1.999最小步长为0.001。您也可以使用任何其他合理的格式来描述比率。只需在您的答案中提及它即可。 输出:平方数,一个整数。 示例I / O 映射格式用于保持页面整洁,而您的代码既不需要支持列表输入,也不需要成为映射功能。 1.002 => 251 1.003 => 223 1.004 => 189 1.005 => 161 1.006 => 140 1.007 => 124 1.008 => 111 1.009 => 100 所有答案列表 感谢@LuisMendo,这是答案的图表。 备注 这是一个代码高尔夫球,因此最短的代码胜出 注意标准漏洞 您可以自由决定如何处理输入和输出,但它们应遵循标准限制。 顺便说说... 如果您对挑战尚不清楚,请发表评论 …

12
以-10为底的输出N
挑战: 在您选择的编程语言中,接受一个整数 作为基数10的输入,并以十进制表示法(也称为基数-10)输出该整数。 示例算法: 这是一种从Wikipedia提取的算法,可以将VB.NET中的10转换为负数: Function toNegativeBase(Number As Integer , base As Integer) As System.Collections.Generic.List(Of Integer) Dim digits As New System.Collections.Generic.List(Of Integer) while Number <> 0 Dim remainder As Integer= Number Mod base Number = CInt(Number / base) if remainder < 0 then remainder += system.math.abs(base) Number+=1 end if digits.Insert(0, …

5
生成一个ascii-art不相交的路径
给定2个代表该字段大小的整数输入,x并y输出通过该字段的路径。 输出示例5, 4: # # # ### ### # 整个字段是5 x 4,并且有一个由井号组成的路径穿过该字段。 路径应始终从左上角开始,然后到右下角。每次运行程序时,应将整个路径随机化。每个有效路径都应该是可能的输出。 路径规则为: 由井号组成 每个哈希仅连接到其他2个哈希(即路径不相交或与之并行) 非哈希空格可以用其他任何字符填充,但必须一致(即所有空格,所有句点等)。 例子: 2, 2 ## # 3, 4 ## ## # # 5, 5 ##### # # # # 6, 5 ## ### # # # ## # # # ## # ### # …

4
棋盘格!
介绍 来自维基百科: 平面的细分是指使用一个或多个几何形状(称为图块)的平铺,没有重叠且没有间隙。 下面显示了一个众所周知的细分: 菱形的平铺方式不会导致重叠或间隙,并模拟了立方的互换列。 任务 您的任务是编写一个与上面的图像相同的镶嵌菱形的程序。程序的输入将为镶嵌的尺寸:height x width,其中width是列数,height是行数。 单个立方体1 x 1(菱形的3个图块)的表示方式如下: _____ /\ \ / \ \ / \ _____\ \ / / \ / / \/_____ / 因此,如果输入/尺寸为3 x 2,则应为输出: _____ /\ \ / \ \ / \ _____\ _____ \ / /\ \ \ / / \ …

16
库兹涅佐夫的序列
库兹涅佐夫的序列 (I made the name up, don't bother with Wikipedia or Google) 给定任何数字n > 0,令其r代表数字的倒数n。迭代直到最终结果为零,然后使用递归或您选择的方法通过执行以下操作将每次迭代的结果传递回函数中: 如果r > n对于该迭代,结果为r % n。 如果n > r对于该迭代,结果为n % r。 如果n % r = 0或r % n = 0,则终止迭代。 取每个执行的中间结果,并将它们存储在数组中以得到最终答案。初始编号n不是序列的一部分,也不是0;这些示例应该使所有内容都更加明显。 让我们来看一个例子n=32452345。 54325423 % 32452345 = 21873078 # r > n, uses r % n 87037812 …

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.