Questions tagged «code-golf»

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

15
量子醉汉步道
众所周知,一个人在酒精的影响下,在网格上的人有朝任何可用方向前进的机会均等。但是,这种常识性声明并不适用于非常小的酒鬼,他们的行为非常像他们一次采取所有可用路径,并且他们采取的可能路径可能会相互干扰。您的任务是在n步骤之后显示此类量子醉汉的可能位置。 规格 讨论中的酒鬼占据了一个正方形网格,可以被认为是使用冯·诺依曼(加号)邻域的三态细胞自动机,遵循以下简单规则: Empty去Awake,如果它是毗邻只有一个Awake,否则进入Empty Awake 去 Sleeping Sleeping 去 Sleeping 电路板的初始状态是一个Awake由Emptys 的无限字段包围的单个状态。 挑战 给定一个非负整数n,请在n步骤之后创建酒鬼的ASCII表示形式。每个状态应由不同的字符表示,解决方案应说明哪个字符表示哪个状态。如果您将空格用于Empty,则无需在行尾添加一行空格。 这是代码高尔夫球,因此最短的答案会获胜。适用标准漏洞,允许使用前导和尾随空格,允许使用字符串数组/ 2d char数组输出,等等。 例子 这些示例使用for Empty,@for Awake和#for Sleeping。 n=0 @ n = 1 @ @#@ @ n = 2 @ # @###@ # @ n = 3 @ @#@ @ # @ @#####@ @ # @ …

23
输出PPCG Prime
这是PPCG Prime 624位数字长 777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777111111111111111111111111111111111111111111111111111111111111111111111111111111188888888118888888811188888811188888811188111118818811111881881111881881111881188111118818811111881881111111881111111188888888118888888811881111111881118888188111111118811111111881111111881111881188111111118811111111881111881881111881188111111118811111111188888811188888811111111111111111111111111111111111111111111111111111111111111111111111111111111333333333333333333333333333333333333333 如果我们每隔39位进行拆分,就会得到 777777777777777777777777777777777777777 777777777777777777777777777777777777777 777777777777777777777777777777777777777 777777777777777777777777777777777777777 111111111111111111111111111111111111111 111111111111111111111111111111111111111 188888888118888888811188888811188888811 188111118818811111881881111881881111881 188111118818811111881881111111881111111 188888888118888888811881111111881118888 188111111118811111111881111111881111881 188111111118811111111881111881881111881 188111111118811111111188888811188888811 111111111111111111111111111111111111111 111111111111111111111111111111111111111 333333333333333333333333333333333333333 您的任务是输出PPCG-Prime 这是codegolf。最短的代码以字节为单位。 如果您在下面的Mathematica函数中输入PPCG-Prime,则会得到此结果 ArrayPlot@Partition[IntegerDigits@#,39]&

30
战争就是和平。自由是奴隶制。无知就是力量
正如乔治·奥威尔(George Orwell)在1984年写道: 战争是和平自由是奴隶制无知是力量 编写一个程序或函数,该程序或函数接受Orwell引号中的六个主要词之一,并输出其对应词。 特别: [input] -> [output] war -> peace peace -> war freedom -> slavery slavery -> freedom ignorance -> strength strength -> ignorance 不需要其他输入/输出对。 如上所述,您应该假设单词始终全部为小写。或者,你可以假设的话总是完全大写:WAR -> PEACE,PEACE -> WAR,等。 以字节为单位的最短代码获胜。

10
生成丹尼斯数
这项挑战对PPCG用户Dennis赢得了The Programming Language Quiz的强盗部分表示敬意。 查看Dennis的PPCG个人资料页面,我们可以看到一些令人印象深刻的内容: 目前,他的声誉超过6.8 万,使他在销售代表中排名第二,以近3万的成绩超过了第三名。他最近赢得了我们的新主持人选举,并在他的名字旁边得到了一颗闪亮的新钻石。但我个人认为,丹尼斯最有趣的部分是他的PPCG用户ID号:12012。 乍一看12012几乎像回文,反转时的数字相同,但差一点。它可以成为回文21012如果我们交换了第一的位置1,并2,它可以成为回文12021如果我们换最后1和2。同样,遵循不写数字前导零的约定,交换第一个1和0结果,02112或者2112换句话说,这是另一个回文。 让我们将Dennis数定义为一个正整数,它本身不是回文的,但是可以通过交换任意两个数字中的至少一对的位置而成为回文。丹尼斯数的顺序是可以交换以组成(不一定是不同的)回文数的不同数字对的数量。 这样的顺序12012是3,因为3个不同的对其位数(12012,,)可围绕交换以产生回文。碰巧是最小的3丹尼斯数。120121201212012 10是最小的丹尼斯数目和具有顺序1,因为绕切换1和0给出01又名1其是回文。 虚数前导零不算作可切换数字。例如,更改8908为08908并交换前两位以获得回文80908是无效的。8908不是丹尼斯数字。 非丹尼斯数字可以说是0阶。 挑战 编写一个程序或函数,该程序或函数采用正整数N并以某种合理的格式(例如或)打印或返回第N个最小的Dennis数及其顺序。12012 3(12012, 3) 例如,12012第774个丹尼斯数774是,因此如果是程序的输入,则输出应类似于12012 3。(奇怪的是,774是另一个丹尼斯数字。) 以字节为单位的最短代码获胜。 以下是丹尼斯的前20个数字及其参考顺序: N Dennis Order 1 10 1 2 20 1 3 30 1 4 40 1 5 50 1 6 60 1 7 70 1 8 80 1 9 90 …

30
没有A的字母A
您的任务是单独显示字母“ A”,除了在程序和/或代码段中不能避免的任何形式的尾随换行符以外,其他任何内容都不能显示。允许返回(而不是打印)的代码。 字母“ A”的小写和大写版本均可接受(即unicode U + 0061或unicode U + 0041。其他非Unicode的字符编码也是允许的,但是无论哪种方式,代码的结果输出必须是拉丁字母“ A”,并且没有任何相似或象形文字) 你一定不能使用任何以下字符的代码中,无论字符编码的你选择: “ A ”,无论是大写还是小写。 “ U ”,无论是小写还是大写。 X,无论是大写还是小写。 + 和 # 0 1个 4 5 6 7 9 禁止作弊,漏洞等。 由于这是代码高尔夫,因此,遵循所有规则的最短解决方案(以字节为单位)是赢家。 有效性检查器 该堆栈代码片段检查以确保您的代码不使用受限字符。对于某些字符编码,它可能无法正常工作。 var t = prompt("Input your code."); if (/[AaUuXx+&#0145679]/.test(t)) { alert("Contains a disallowed character!"); } else { alert("No …

30
等待一分钟–不到十秒
任务 使用任何类型的并行化,请等待多个时间段,以使总睡眠时间至少为一分钟(但少于一分钟半)。 程序/功能必须在10秒内终止,并以任何方式(以任何方式)返回两个值:总经过时间和总执行睡眠时间。两个时间值都必须具有至少0.1秒的精度。 这类似于工时的概念:如果有10名工人分班工作,那么需要60个小时的工作只能在6个小时内完成。在这里,我们可以有60秒的睡眠时间,例如在10个并行线程中,因此只需要6秒就可以完成整个工作。 例 MyProgram程序创建14个线程,每个线程休眠5秒: MyProgram → [5.016,70.105] 执行时间大于5秒,由于开销,总睡眠时间大于70秒。

8
正方形,圆形,三角形……齿轮?
我使用Algodoo和Paint制作了这六个300×300单色图像,具有四个方便的形状: 此类图像具有以下属性: 它们始终为300×300像素,单色(仅黑白),并且正好有四个白色区域,分别对应于正方形,圆形,三角形和齿轮。 形状永远不会重叠或彼此接触,也不会接触图像边界或超出范围。 形状始终具有相同的大小,但是可以任何方式旋转和定位。 (形状也具有相等的面积,但是当像这样进行栅格化时,它们的像素数不太可能完全相等。) 挑战 编写可能的最短程序或函数,以吸收此类图像的文件名并转换所有白色像素... (255, 0, 0)如果它们在广场上,则为红色。 (0, 0, 255)如果它们在圆圈中,则为蓝色。 (0, 255, 0)如果它们在三角形中,则为绿色。 (255, 255, 0)如果齿轮处于黄色,则为黄色。 例如 细节 您的程序应该可以有效地处理所有可能的输入图像。(仅输入有效的300×300单色图像。)我提供的六幅图像仅是示例,您可能无法将其输出硬编码到程序中。 您不得使用内置或外部的计算机视觉库或功能。关键是要使用您自己的像素级操作来执行此操作。您可以使用仅允许您打开和修改图像的图像库(例如,用于Python的PIL)。 您可以使用任何常见的无损图像文件格式进行输入和输出,只要您遵守配色方案即可。 您可以从stdin或命令行中将图像文件名作为函数参数。可以将输出图像保存到新文件,相同文件或简单显示。 计分 字节最少的提交将获胜。我可能会用其他图像测试提交的内容,以确定其有效性。

21
解释鱼(不,不是那条鱼)
考虑以下五个ASCII艺术海洋生物: 标准鱼:><>或<>< 快速鱼:>><>或<><< 健壮的鱼:><>>或<<>< 弹力鱼:><<<>或<>>>< 螃蟹: ,<..>, 编写一个接受任意字符字符串的程序<>,.。如果有一种方法可以将整个字符串解释为一系列不重叠的海洋生物,则应重新打印该字符串,并在生物之间插入单个空格。如果无法解释,则不输出任何内容(程序静默结束)。 例如,字符串<><><>可以解释为两个标准的鱼背对背。相应的输出为<>< ><>。 作为另一个示例,该字符串><>><>>包含...的“实例” (仅将括号添加为指示符) 几个标准鱼: [><>][><>]> 一条快鱼: ><[>><>]> 一个坚固的鱼在几个方面:[><>>]<>>和><>[><>>] 但是,只有标准鱼和坚固鱼的配对[><>][><>>]跨越了整个字符串,没有鱼共享字符(没有重叠)。因此,对应于的输出><>><>>为><> ><>>。 如果可以通过多种方式解释字符串,则可以打印其中任何一种。(并且仅打印其中之一。)例如,<><<<><可以解释为标准鱼和结实的鱼:[<><][<<><],或者解释为快速鱼和标准鱼:[<><<][<><]。因此,<>< <<><或者<><< <><将是有效的输出。 螃蟹只是为了好玩。由于它们不是以<或开头或结尾>,因此更容易识别(至少在视觉上)。例如,字符串 ,<..>,><<<>,<..>,><>,<..>,<>>><,<..>,><>>,<..>,<<><,<..>,<><,<..>,>><> 显然会产生输出 ,<..>, ><<<> ,<..>, ><> ,<..>, <>>>< ,<..>, ><>> ,<..>, <<>< ,<..>, <>< ,<..>, >><> 以下是一些不产生任何输出的字符串示例(每行一个): <><> ,<..>,<..>, >>><> ><<<<> , ><><> ,<><>, <<<><><<<>>><>><>><><><<>>><>><>>><>>><>><>><<>< 如果删除开头,则可以解析这里的最后一个字符串<: <<>< …

10
岩石,多色,剪刀
编写一个程序,使用三种语言来玩剪刀石头布。 程序的任何版本的输入始终是字符串rock或paper或之一scissors。 程序必须使用第一语言输出击败输入的石头剪刀布选择: Input Output rock paper paper scissors scissors rock 程序必须使用第二种语言输出与输入相关联的剪刀布选择: Input Output rock rock paper paper scissors scissors 程序必须使用第三种语言输出输给输入的石头剪刀布选择: Input Output rock scissors paper rock scissors paper 以字节为单位的最短代码获胜。决胜局是最高投票的答案。 的输入和/或输出可任选地具有一个尾随的换行符但否则应该只是纯rock/ paper/ scissors字符串。您可以使用大写ROCK,PAPER,SCISSORS如果需要的话。 您不能使用同一语言的不同版本(例如Python 2和3)。

27
418:我是茶壶
众所周知,HTTP状态码为418:我是茶壶。 您的任务(如果您选择接受它)是使用creativitea并编写最小的服务器,该服务器以上述状态代码响应向其发出的所有HTTP请求。 适用标准漏洞,包括 从外部来源获取所需的输出 这包括执行HTTP请求以获取带有问题的页面,并从该页面提取解决方案。早在2011年,这种情况就很有趣了,但现在却是衍生且无趣的。 这意味着您不能简单地将请求重定向到另一台服务器以使其返回响应。 解决有关服务器功能的一些困惑: 只要发出HTTP请求后,服务器便会以正确的响应进行回复,那么您的服务器就可以执行任何操作(或不执行任何操作),而不会向其发出HTTP请求。

30
莱根...等等...
ary! 在与未来几天可能发生的事情完全无关的事件中,我要求您编写执行以下操作的代码: 打印 Legen... wait for it... 立即使用尾随换行符。 等到下一个小时(当授予徽章的Cron工作运行时)。 打印 dary! 与可选的尾随换行符。 附加规则 您可以编写程序或函数,但必须将输出打印到STDOUT(或它的最接近的语言替代品)中。 您必须等到下一个完整小时,而不仅仅是60分钟。如果代码在6:58运行,则应在7:00打印第二行。 最后一行必须在下一个完整小时后不迟于一秒钟的时间内打印出来。 如果程序在一小时的第一秒内启动,则应等待下一个小时。 您可以查询当地时间或UTC时间。 适用标准代码高尔夫球规则。
68 code-golf  date 

17
帮助特朗普筑墙!
特朗普需要建造隔离墙,而您将要做!为了最有效地构建他的墙,我创建了一个简单的可重复模式供您使用: __ __ | |_| | ___| |___ - - - - - - - - - - - - - - - - - - - ——————————————— 特朗普会告诉您他需要多少个墙段,然后您将它们构建为看起来像这样。 这是模式: __ __ <-- 4-2-3-2-4 ' _ _ ' | |_| | <-- 3-1-2-1-1-1-2-1-3 ' | |_| | ' ___| |___ …

30
唱小鲨鱼
《小鲨鱼》是一首有关鲨鱼家庭的儿童歌曲。早已作为篝火歌流行,但自2000年代中期以来已被社交媒体,在线视频和广播广泛传播。- 维基百科 编写不带输入的程序,并将以下文本写入标准输出或任意文件: Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark doo doo doo doo doo doo Baby Shark! Daddy Shark doo doo doo doo doo doo Daddy Shark doo doo doo doo doo doo Daddy Shark doo doo doo …

23
哟,男孩,总和
每一个正整数,可表示为最多三个回文正整数中的任何基础的总和b ≥5。 Cilleruelo等,2017 如果正整数在给定的基数中为回文,则该正整数在该基数中的表示(不带前导零)将向后读取相同的值。在下面,仅基b = 10将被考虑。 作为回文数之和的分解不是唯一的。例如,5可以直接表示为5或2, 3。类似地,132可以分解为44, 44, 44或121, 11。 挑战 给定一个正整数,将其和分解为三个或三个以下以正整数为基础的正整数。 附加规则 所使用的算法应适用于任意大的输入。但是,如果程序受内存,时间或数据类型的限制,则可以接受。 输入和输出可以通过任何合理的方式进行。输入和输出格式像往常一样灵活。 您可以选择为每个输入生成一个或多个有效分解,只要输出格式是明确的即可。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 以字节为单位的最短代码获胜。 例子 由于输入可以具有许多分解,因此这些只是示例而不是测试用例。每种分解显示在不同的行上。 Input -> Output 5 -> 5 2, 3 15 -> 1, 3, 11 9, 6 21 -> 11, 9, 1 7, 7, 7 42 -> 22, 11, 9 2, …

30
魔术聚会:朋友还是敌人?
在纸牌游戏《魔术:聚会》中,有五种不同的颜色,代表纸牌的松散隶属关系,白色(W),蓝色(U),黑色(B),红色(R)和绿色(G)。这些通常以五边形排列如下: W G U R B 在MtG的知识以及许多卡片机制中,此五边形中的相邻颜色通常被视为盟友,而不相邻(相反)的颜色则被视为敌人。 在此挑战中,将为您提供两种颜色,并应确定它们之间的关系。 挑战 您会从集合中获得两个不同的字符BGRUW。您可以将它们视为两个字符的字符串,在字符之间带有定界符的字符串,两个单独的字符值,两个单例字符串,两个代表其代码点的整数,或包含两个字符/字符串/整数的列表或集合类型。 您的输出应该是您选择的两个不同且一致的值之一,一个表示两种颜色是同盟,另一种表示它们是敌人。这两个值之一可能根本没有输出。 您可以编写程序或函数,并使用我们的任何标准方法来接收输入和提供输出。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 只有20种可能的输入,因此我将全部列出。 好友: WU UB BR RG GW UW BU RB GR WG 敌人: WB UR BG RW GU BW RU GB WR UG

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.