Questions tagged «code-golf»

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

30
画保龄球
您的目标是在只有十个针脚的十针保龄球中显示编队的ASCII艺术。最少的字节数获胜。 十个针呈三角形形式: O O O O O O O O O O 引脚从1到10的标签为: 7 8 9 10 4 5 6 2 3 1 绘制图钉为O,缺少图钉为.,形式1 3 5 6 9 10为: . . O O . O O . O O 输入: 用空格分隔的字符串,按顺序列出数字1到10的非空子集。 输出: 打印相应的形式或将其输出为带有换行符的字符串。 地层应与筛网左侧齐平。只要可见图像正确,任何空格都可以。前后的空行也可以。 测试用例: >> 1 2 3 4 …

12
首要奇偶校验
这种挑战的目的是为了描绘图形平面上,其中,每个步骤的方向散步是由素性确定及其二进制展开的奇偶性。特别,ķkkķkk 初始方向是固定的,例如北。 所有步骤的长度相同。 步骤的方向可以是北,西,南或东,并确定如下: ķkk 如果不是素数,则方向不会改变。ķkk 如果是素数,的二进制展开拥有者的偶数,右转。ķkkķkk 如果是素数,的二进制展开具有奇数个1,左转。ķkkķkk 作为一个可行的示例,假设初始方向是北。第一步是: k = 1k=1k=1不是素数。因此,我们朝当前方向(北)移动了一步。 k = 2k=2k=2是质数,并且其二进制扩展10数具有奇数个。所以我们左转,现在正对着西方。我们朝这个方向迈出了一步。 k = 3k=3k=3是质数,它的二进制扩展11数,具有偶数个。因此,我们向右转,现在正对着北方。我们朝这个方向迈出了一步。 k = 4k=4k=4不是素数。因此,我们朝当前方向(北)移动了一步。 挑战 输入:正整数。ñNN 输出:如上定义的步走的图。ñNN 附加规则 的初始方向可以自由地选择(不一定北),但应该是全部相同。ñNN 的转动规则可以是与上述相反,即,右转奇校验并放置甚至; 但是对于所有它必须相同。ñNN 输出必须是步行的图形描述。例如: 可以用线段绘制步行。 可以使用标记(例如点)来显示访问点;有或没有连接线段。 可以提供两种颜色的光栅图像,一种颜色对应于已访问的点,另一种颜色则用于未访问的点。 水平轴和垂直轴的比例不必相同。轴标签和类似元素也是可选的。只要可以清楚地看到步行,该情节就是有效的。 请注意,某些点被多次访问。情节对此并不敏感。例如,如果在曲线图中显示了线段,则无论其经过多少次,每个单位段都将显示为相同。 该代码应适用于任何N给定的无限资源。如果在实践中N由于时间,内存或数据类型的限制而导致故障很大,则可以接受。 输入和输出像往常一样灵活。特别地,可以使用用于输出图像的任何标准装置。 以字节为单位的最短代码获胜。 测试用例 下图以北为初始方向。甚至平价向右转;并用线段描绘了步行路线。 N = 7: N = 3000: N = 20000: N = …

30
这条线是正方形吗?
如果满足以下条件,则将字符串视为正方形: 每行字符数相同 每行上的字符数等于行数。 您的任务是编写确定给定输入字符串是否为正方形的程序或函数。 您可能需要通过选择LF,CR或CRLF来分隔输入。 换行符不视为行长度的一部分。 您可能需要在输入中包含或不包含尾随换行符,这不会算作附加行。 输入是字符串或一维char数组;它不是字符串列表。 您可以假定输入为非空,并且仅包含可打印的ASCII(包括空格)。 您必须为平方字符串输出一个真值,为其他字符串输出一个虚值。 真实的测试案例: 富 酒吧 巴兹 。 .s。 .ss .s。 (s代表空间) ss ss (s代表空间) aa aa aa aa aa 虚假的测试案例: .. 。 。 。 .... .... 4444 333 22 333 333 abc.def.ghi 在某些虚假情况下,请注意额外的空白行。 这是代码高尔夫球 -最少的字节数获胜!

3
救命,我陷入了Sierpinski三角!
绘制谢尔宾斯基三角形已经被 做 死。我们还有其他有趣的事情可以做。如果我们在三角形处斜视的程度足够大,则可以将上下颠倒的三角形视为分形图的节点。让我们找到解决该图的方法! 首先,让我们为每个节点分配一个数字。最大的倒置三角形将是节点零,然后我们逐层向下移动(宽度优先),并按从上到下的顺序分配连续的数字: 单击以获取较大的版本,其中较小的数字不太模糊。 (当然,在该模式的蓝色三角形内部循环往复。)来定义的编号的另一种方式是,该中心节点具有索引0,并且节点的子节点i(下一个较小规模的相邻三角形)具有指数3i+1,3i+2和3i+3。 我们如何围绕该图移动?任何给定的三角形最多可以采取六个自然步骤: 一个人总是可以通过边之一的中点移动到当前节点的三个子节点之一。我们会指定这些举措为N,SW和SE。例如,如果我们现在走的节点2,这将导致节点7,8,9分别。不允许通过边缘进行其他移动(到达间接后代)。 只要不碰到三角形的边缘,也可以通过三个角之一移至直接父级或两个间接祖先之一。我们会指定这些举措为S,NE和NW。例如,如果我们当前在node上31,S将导致10,NE无效并NW导致0。 挑战 给定两个非负整数xand y,仅使用上述六个动作找到从x到的最短路径y。如果有几个最短的路径,请输出其中任何一条。 请注意,您的代码不仅仅可以在上图中描述的5个级别中工作。您可能会认为x, y < 1743392200。这样可以确保它们适合32位带符号整数。请注意,这对应于树的20个级别。 您的代码必须在5秒钟内处理任何有效输入。尽管这排除了蛮力广度优先搜索,但它应该是一个相当宽松的约束-我的参考实现在半秒内处理了深度1000的任意输入(对于节点来说约为480位数字)。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 输出应该是字符串的平面,明确的清单N,S,NE,NW,SE,SW,使用任何合理的分隔符(空格,换行,逗号,","...)。 适用标准代码高尔夫球规则。 测试用例 可以使用上图手动计算出前几个测试用例。其他人确保答案足够有效。对于那些,可能没有列出其他相同长度的解决方案。 0 40 => N N N N 66 67 => S SW N N N 30 2 => NW NW -or- NE SW 93 2 => NE SW …

10
猎鹰重型战车
从以下四组中的任何一组中选择一组四个字节而不替换(即,不重复字节),并且不一定按任何特定顺序进行: 任何一个单字节编码的字符 Unicode字符,范围为​​00–FF 有符号十进制整数,范围为−128–127 无符号十进制整数,范围为0–255 您选择的四个值(请说明它们是哪个)将是有效输入。您必须将每个值与以下ASCII图稿之一配对。 给定(通过任何方式)您的四个有效输入之一,以相应的ASCII艺术形式响应(以任何方式,甚至是字符串列表)。只要图像在一个连续的2D区域中,在所有面上都可以有多余的空白。 第一个字节: /\ / \ | | | | | | |____| \__/ | | | | | | | | /\ | | /\ / \| |/ \ | || || | | || || | | || || | | || || …

23
用笔触覆盖天际线
给定一个非负整数天际线高度列表,请回答需要多少不间断的1个单位高的水平画笔笔划来覆盖它。 [1,3,2,1,2,1,5,3,3,4,2],可视为: 5 5 4 3 5334 32 2 53342 13212153342 需要九个笔触: 1 2 3 4 5555 66 7 88888 99999999999 例子 [1,3,2,1,2,1,5,3,3,4,2] → 9 [5,8] → 8 [1,1,1,1] → 1 [] → 0 [0,0] → 0 [2] → 2 [2,0,2] → 4 [10,9,8,9] → 11

30
实施iOS 11计算器
iOS 11有一个错误,使1 + 2 + 3的结果为24。这与动画速度有关,但是无论如何: 任务是制造1 + 2 + 3 == 24。但只有那样。所以,你应该提供正确总结大多数序列,但收益函数24时的参数是1,2和3以任何顺序。 输入示例: 1 2 => 3 3 4 => 7 1 2 3 4 5 6 7 8 9 => 45 3 2 1 => 24 2 1 3 => 24 1 1 => 2 1 2 3 …
43 code-golf  math  number 

24
混沌是ASCII阶梯
你一无所知 我为 “ 混沌是梯子 ” 做的事情是电视连续剧 “权力的游戏 ”中令人难忘的台词。 这项挑战的目的是从ASCII艺术的混乱中构建阶梯。 挑战 输入项 梯子宽度W >= 3(整数) 台阶高度H >= 2(整数) 梯级数N >= 2(整数)。 输出量 带有水平横档和垂直横档的梯子,全部为1个字符宽。梯子宽度(W)包括两个轨道,梯级高度(H)包括相应的梯级。 所有梯级,包括最上层和最下层,都将在其H-1正上方和正下方具有一条垂直轨道。该示例将使这一点更加清楚。 梯子将作出的可印刷,非空白ASCII字符,即,从包含的范围!(代码点33)到~(码点126)。实际的字符将被选择随机。给定输入,每个字符的随机选择都必须具有非零概率。除此之外,概率分布是任意的。 允许水平或垂直的前导或尾随空白。 例 给定W=5, H=3, N=2,一种可能的输出如下。 x : g h q$UO{ t T 6 < bUZXP 8 T 5 g 请注意,总高度为H*(N+1)-1,因为有N梯级和N+1垂直截面。 附加规则 输入方式和格式像往常一样灵活。例如,您可以按任何顺序输入三个数字,或包含它们的数组。 输出可以通过STDOUT或函数返回的参数进行。在这种情况下,它可以是带有换行符的字符串,2D字符数组或字符串数​​组。 可以提供程序或功能。 禁止出现标准漏洞。 以字节为单位的最短代码获胜。 …

30
信速
给定一个字符串作为输入,请打印一个新字符串,每个字母的各自字母索引将其推到右侧。 我们都知道A是一个慢字母,Z是一个快字母。这意味着Z向右偏移25个空格,A根本不偏移,而B偏移了1个空格。 您的程序只需要处理AZ的大写字母,没有其他字符,空格,标点符号。 请注意,如果在移位后2个或更多字母落在同一空格上,则会使用最新字符。(例如:BA-> A) 例子 "AZ" -> "A Z" "ABC" -> "A B C" "ACE" -> "A C E" "CBA" -> " A" "HELLOWORLD" -> " E H DLL OLO R W" 规则 这是code-golf,因此以任何语言字节中的最短代码为准。 禁止出现标准漏洞。 输入必须以字符串形式接收。 您可以将结果打印到stdout或返回字符串。 允许使用单个尾随空格和/或换行符。 您也可以使用小写字母作为输入或输出,但只能使用任何一种情况。
43 code-golf  string 

6
岛屿高尔夫#1:环游世界
这是Island Golf系列挑战中的第一个。下一个挑战 给定ASCII艺术形式的孤岛,请输出对其进行绕行的最佳路径。 输入项 您的输入将是一个由两个字符组成的矩形网格,分别代表土地和水。在下面的示例中,土地是#,水是.,但是您可以替换任意两个不同的字符。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 始终将至少有一个地砖。地砖将是连续的(即只有一个岛)。瓷砖也将是连续的(即没有湖泊)。网格的外边界都是水瓦片。地砖将不会以对角线连接:即,您将永远不会看到类似 .... .#.. ..#. .... 输出量 您的代码必须输出相同的网格,并在其上画出最短的环绕。在下面的示例中,环行路径用绘制o,但是您可以替换任何字符,只要它与您的水陆字符不同即可。 一个环游是一个简单的封闭曲线,完全是靠水的瓷砖画,能够完全包围在网格中的所有土地的瓷砖。对角线的连接被允许的。例如,这是上述岛屿的环游世界(但不是最短的一个): .ooooo..... o..##.oo... o.#####.o.. o.#######o. o#########o ooo#######o ..o#####.#o ..oo####..o ....oooooo. 环行的长度计算如下:对于路径上的每对相邻的图块,如果它们是水平或垂直连接的,则加1;否则,为0。如果对角连接,则加√2。以上路径的长度为22 +7√2(≈31.9)。 甲最短环游是用最短的长度的环游。您的程序应输出满足此条件的任何一条路径。对于大多数岛屿,将有多种可能的解决方案。这是上述岛的一种解决方案,长度为10 +13√2(≈28.4): ...oo...... ..o##oo.... .o#####oo.. .o#######o. o#########o .o.#######o ..o#####.#o ...o####.o. ....ooooo.. 细节 您的解决方案可能是完整程序或功能。任何默认的输入和输出方法都是可以接受的。 您的输入和输出可以是多行字符串或字符串列表。如果您的语言具有不同于单字符字符串的字符类型,则可以在上一句中用“字符列表”代替“字符串”。如果您的语言需要输入网格的高度和/或宽度,则可以输入。您的输出可能(可选)有一个尾随换行符。如上所述,您可以使用任何三个不同的字符来代替#.o(请在提交中指定要使用的字符)。 测试用例 A.环游时间最短的岛屿: ... …

3
建立美观的除数树
美观的除数树是输入的除数的树n,对于任何合数m,具有的两个孩子的节点对除数是最接近的平方根的m。左节点应为的较小除数,m右节点应为的较大除数m。树中的素数不应有子节点。您的树可能是文字艺术或图像的形式。文字艺术输出的规则如下。 间距规则 为了使树上的节点间隔开,我们有以下规则: 从根到给定深度的节点应全部位于输出中的同一行文本上。 / \不/ \ / \ / 3 2 3 2 对于左节点,如果节点是一个数字,则输入分支应该在右上角,否则在最后一个数字的正上方。例: /与/ 3720 对于右边的节点,如果节点是一位数字,则输入分支应该在左上角,否则在第一位数字的正上方。例: \ AND \ 7243 对于传出的左分支,分支应在数字左侧开始一个空格。例: 275 / 11 对于传出的右分支,分支应在数字右边开始一个空格。例: 275 \ 25 树的同一层上的任何两个节点之间至少应有两个空格。同时,在树的同一层上的任何两个子树之间的空间应尽可能少。 该树不起作用,因为“子树”太近了。 504 / \ / \ / \ / \ 21。24 / \。/ \ / \。/ \ 3 7. …

24
输出程序中每个输入字符的第一个位置
挑战 编写一个非空程序/函数p,给定一个非空输入字符串s,该程序/函数输出的源代码中的每个字符第一次出现的位置。sp 例如,如果您的程序是 main() { cout << magic << cin } ^0 ^5 ^10 ^15 ^20 ^25 它收到一个输入abcd{,输出应该是 [1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based) 在此,x表示任何不是字符位置有效输出的输出(例如,负数,0如果您使用基于1的索引,则NaN,Inf字符串potato,大于程序长度的数字等)。 限制条件 不允许读取源代码(如适当的quine)。允许使用评论,但会计入您的分数。 输入和输出可以在一个合理的形式进行,但必须是明确的(唯一的额外分隔符,没有rand流,并声称,答案是在那里的地方),一致(例如,x从上面应该始终是相同的值)和人-可读性 ; 例如字符串或字符数组。您可以假设输入是可打印ASCII字符的字符串(或数组);无需处理整个Unicode集。 自定义代码页或代码中不可打印的ASCII? 如果您的语言使用自定义代码页(Jelly,APL等),则必须将其考虑在内(因此,程序€æÆ必须[1, x, 2]为input输出€%æ)。仅使用非ASCII字符-1始终输出(因为输入仅是ASCII)不是有效的解决方案。您可以假定您的程序本机接受您的自定义代码页,即,如果您的程序具有将字符转换为A整数65(ASCII编码)的方法,则可以假定它现在将代码页中的第65个字符转换为65。 受到以下挑战的启发:位置意识

30
位运行减少
给定一个整数n > 0,以0或1以其二进制表示形式输出最长连续序列的长度。 例子 6用110二进制写;最长的序列是11,所以我们应该返回2 16→交通10000→交通4 893→交通1101111101→交通5 1337371→交通101000110100000011011→交通6 1→交通1→交通1 9965546→交通100110000000111111101010→交通7

30
闪烁十二
12:00未设置时间时,许多电子设备(特别是旧的电子设备)将闪烁。挑战的目的是重新创建它。 具体来说,任务是显示12:00并--:--无限循环显示。 的周期应该是1秒,在0.5秒的两个周期均匀地划分。在这里,“ 1秒”和“均匀”可以被宽松地解释。例如,代码在显示字符串之间暂停0.5秒是可以接受的,即使所得到的时间间隔会稍大于1秒。在显示第一个字符串之前的初始暂停是可以接受的。 每一个新的字符串可以通过显示取代原有的字符串或在一个新行。允许尾随空格,除非每个新字符串在不同的行上,否则连续的字符串之间不应有空行。 以字节为单位的最短代码获胜。

30
计算“标准高尔夫”问题的难度
简报 高尔夫球法典问题的难度可以这样计算: v问题的观看次数在哪里 这a是一个问题的答案数 和⌈ X ⌉是天花板操作。 也: 这个问题的当前难度:*** 任务 编写一个将使用两个整数(v and a)并输出的难度的程序asterisks (*)。 输入可以采用数组,分隔字符串或分隔函数参数的形式 测试数据 Views Answers Difficulty Program Output 163 2 2 ** 548 22 1 * 1452 24 1 * 1713 37 1 * 4162 32 2 ** 3067 15 3 *** 22421 19 10 ********** 伪代码示例 …
43 code-golf  math 

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.