Questions tagged «code-golf»

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

20
对前n个偶数斐波纳契数求和
似乎还没有比赛。 任务很简单。加上n斐波那契数列的第一个偶数,然后输出结果。 这是由OEIS A099919提供的,除了序列以fib(1) = 0代替移位了一个fib(1) = 1。 这是代码高尔夫。最低字节数获胜。 例子 n sum 1 0 2 2 3 10 4 44 5 188 6 798 7 3382 8 14328 9 60696 有关

11
作弊循环奎因
概念 编写一个程序,以其编程语言输出代码。该代码在执行时必须输出原始程序。 规则 由于这是一个骗子,您可以阅读原始源代码。 第一个输出程序必须使用与原始程序相同的语言。 您可能没有输出常规的奎因。这两个程序必须不同。 有标准漏洞。 这是代码高尔夫球,因此最短的答案会获胜,但是不会选择它。
19 code-golf  quine 

26
查找最小的文件
目标: 创建一个程序以查找当前文件夹中的最小文件。 文件大小可以字节或字符为单位。 如果多个文件具有相同的大小,则可以选择一个或全部显示。 您可以假定文件夹中至少有一个文件,并且没有文件的大小为0。 假设可以使用您所使用的语言加载文件夹中的所有文件。 假设当前目录中没有文件夹。 输入: 该程序不应接受用户的任何输入,除非: 如果您的语言没有“当前文件夹”,则可能会询问用户文件夹名称/路径。 如果您的语言无法直接访问计算机上的文件,则可能允许用户上载文件。(例如JavaScript) 输出: 应该显示最小文件的名称。 只要清楚地选择了哪个文件,就允许使用前导/尾随符号。 (打印所有文件的列表是违反规则的)。 笔记: 不允许使用标准漏洞。 您不能修改/创建/删除文件夹中的文件来更改结果。 这是代码高尔夫球;最短答案(以字节为单位)获胜。

7
字母整数
字母整数 对于给定的一组数字,将其拼写时按字母顺序排列(即1:1、2:2、90:90、19:19)。您的代码应适用于该范围[-999999, 999999]。输出必须在数字之间有一个定界符。空格将起作用,空格和逗号也将起作用,如下例所示。输入可以是整数数组,带分隔符的数字字符串,或者您认为合适。假定所有整数都是唯一的。 在本次挑战中,数字不带连字符,空格在其他任何字符之前按字母顺序排列。假定使用单词表示负数minus。例如,four将在之前four thousand,数字-40将使用字符串进行排序minus forty。假设所有数字将仅由数字单词组成,不包含连词(例如,使用two thousand forty two代替two thousand and forty two)。 测试用例 单位数整数: 输入: 1, 2, 3, 4, 5 输出: 5, 4, 1, 3, 2 多个数字整数: 输入: -1002, 5, 435012, 4, 23, 81, 82 输出: 81, 82, 5, 4, 435012, -1002, 23 单词之间的空格,不能使用连字符,逗号或“和”: 输入: 6, 16, 60, 64, …

30
二进制二进制小数计数
挑战在于将零到10(含零)的数字输出到您的终端,窗口,画布或屏幕。每个输出的数字必须显示为4位宽的半字节,因此零必须显示为0000,依此类推。 您可以使用空格,逗号或回车符分隔输出的每个数字。最小的解决方案获胜,但是只要序列中没有重复的数字,数字就可以按照您喜欢的任何顺序显示。 如果不可能用逗号或空格输出(例如,标准输出仅限于二进制,或者您的解决方案是用于较早的计算机套件),则使用低级二进制语言的条目无需担心逗号或空格分隔符例如具有受限数字显示的KIM-1)。

4
高尔夫生命之花
这里的挑战是用您选择的语言准确地描绘出生命之花(在某些情况下是神圣的几何图形)。 设计包括如图所示的半径为1的圆和部分圆的排列,其中心排列在间距为1的三角形网格上,再加上一个围绕其的半径为3的较大圆。 您可以根据需要缩放设计,但允许数学上正确的最大误差为2%。如果使用光栅图形,则有效地将小圆圈的直径限制为至少约100个像素。 因为这是代码高尔夫球,所以最短的代码(字节)获胜。

7
为您的帖子生成Markdown模板
您的任务很简单:编写一个程序(或函数),该程序不输入任何内容并输出如下内容: ## *name*, *length* bytes *code* 其中*name*,您使用的语言名称是,*length*代码中的字节数,*code*也是程序的源代码。如果*code*包含多行,则每行之前有四个空格。 这是Python 124中一个124字节的示例实现: s = "## Python 3, 124 bytes{2} s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))" print(s.format(s,chr(34),chr(10))) 输出为: ## Python 3, 124 bytes s = "## Python 3, 124 bytes{2} s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))" print(s.format(s,chr(34),chr(10))) 在Markdown中哪个是: Python 3,124个字节 s = "## Python 3, 124 bytes{2} s = {1}{0}{1}{2}print(s.format(s,chr(34),chr(10)))" …
19 code-golf  quine 

7
蓝图
一个sestina是诗的格式遵循一个有趣的模式,我们可以生成。它有六个节,每个节有六行,其中第一个节中每行的最后一个单词组成每个相继节中以设置模式旋转的行结尾。(最后还有一个三行节,但我们不必担心。)看一下Elizabeth Bishop创造性地命名为Sestina的前三个节: 九月的雨落在房子上。 在失败的曙光中,老祖母 和孩子 坐在小奇迹炉子旁边,坐在厨房里, 读着历书中的笑话, 笑着说着掩饰眼泪。 她认为,历经的泪水 和房屋屋顶上刮起的大雨 都是历书所预言的, 但只有祖母才知道。 铁水壶在炉子上唱歌。 她切了一些面包,对孩子说, 现在该喝茶了;但是孩子 却看着茶壶的细小的硬泪 在疯狂的黑火炉上疯狂地跳舞,就像 雨在房子上跳舞一样。 整理时,老祖母 挂上了聪明的年历 ... 请注意,每一行的结尾是六个单词“房子”,“祖母”,“孩子”,“火炉”,“年鉴”或“眼泪”之一。不仅如此,相对于先前的节,单词的排列方式为6–1–5–2–4–3。最终看起来像螺旋形: 距离以编程方式生成完整的sestina尚有几年的时间,但是我们可以创建一个模板,以适当的顺序包含每个节的结尾词。编写一个程序或函数,给定六个行结束词,并遵循以下规则输出sestina的设计图。这是输入的预期结果house grandmother child stove almanac tears: house grandmother child stove almanac tears tears house almanac grandmother stove child child tears stove house grandmother almanac almanac child grandmother tears …

4
给定一个图,找到X
寻找X 我从数学问题中得到启发,在数学问题中要求人们“查找X”以获得给定的形状。最初,我面临的挑战是在字符串中打印字符“ x”的x和y位置。但是我认为那太简单了。因此,我考虑了它们通常所在的上下文,并决定寻找x旁边的Line的长度似乎是合适的。 给定一个字符串输入,其中包含一个图“ ascii”(线)图,以及一个单独的“ x”和可能为垃圾字符,请打印出唯一直接与“ x”相邻的行的长度。 例子 输入: | | |x | | 输出: 5 输入: |\ | \x | \ |___\ 输出: 4 输入: Diagram of a Wobbly Line: IRRELEVANTTEXT____ ____ ____/ \___/ X ;) x 输出: 3 输入: ______________ / ____________ \ |/ __________ \| ||/ ________ …

10
一个简单的数字系统
让我告诉您一个简单的数字系统。(我为此挑战而弥补) 该系统所包含的功能(),[],{},和<>。 1。 () 如果()未提供任何参数,则结果为0。 当()给定一个或多个参数时,它将求和为参数的总和。 2。 [] 如果[]未提供任何参数,则结果为-1。 当[]给定一个或多个参数时,它将得出第一个参数减去其他参数的总和。 3。 {} 如果{}未提供任何参数,则结果为1。 当{}给定一个或多个参数时,它将求值为这些参数的乘积。 4。 <> 如果<>未提供任何参数,则结果为1。 当<>给定一个或多个参数时,它将求出第一个参数整数除以其他参数的乘积。 你的任务 在这个简单的数字系统中,给定一个包含有效数字的字符串(这意味着括号是平衡的,不能除以0等),请打印其值。 测试用例 () -> 0 (()()) -> 0 ([][]) -> -2 ({}<>) -> 2 ({}[]) -> 0 [] -> -1 [[][]] -> 0 [()<>] -> -1 {()} -> 0 {([]<>)} -> …

9
平衡三连音括号
“三重括号”(我为应对这一挑战做了准备)是以下之一: (...+...) [...:...] {...|...} <...-...> 平衡的三连音括号字符串(简称BTBS)可以是空字符串,两个BTBS串联在一起,也可以是上述...三连音括号之一,每个括号用BTBS代替。 您的任务是编写一个程序或函数,以检查仅由一个字符串组成的字符串是否(+)[:]{|}<->平衡。最短的代码胜出。 例子 您的程序应为以下字符串返回true: (+)(+)(+) [[[:]:]:(+(+))]{<->|<(+)->[:]}(+) <<<<<<<<<<<<->->->->->->->->->->->-> {|(+[:<-{|(+[:<->])}>])} [[[:]:[:]]:[[:]:[:]]] {[:](+)|<->{|}}[(+)<->:{|}(+)] 您的程序应为以下字符串返回falsy: :[ <|> (+(+) [:][:](+[[:]):] {|{|{|(+{|{|{|}}}}}+)}[:]{|} {{||}} <<->-<->-<->> [(+):((+)+)+(+(+))] <<<<<->->->->->->

24
网格ASCII艺术代码高尔夫
挑战 创建满足要求的最短程序 要求 该代码必须生成一个5x5的0网格,如下所示: 00000 00000 00000 00000 00000 该代码必须接受输入(列,行,字符)。网格必须相应地更改: 开始: 00000 00000 00000 00000 00000 输入: (2,5,*) 输出: 0*000 00000 00000 00000 00000 (注意:左下角是位置1,1。) 如果行/列输入不1,2,3,4或5这可以是您选择的任何消息(只要它不是电网)的程序必须返回除电网之外的错误信息,所以0是可接受的错误输出。 该程序必须使用所有可打印的ASCII字符(使用美国键盘)。 获胜者,冠军 获胜者将是代码最短且满足所有要求的人。如果一个以上的答案有效且长度相同(最短),则第一个回答的人将成为赢家。

3
字母模式匹配
我们遇到了很多字母挑战。对于此挑战,您将传递字母挑战的输出,并且需要输出按比例缩放的模式N。 例如,如果N=5和您通过了L-phabet: ABCDEFGHIJKLMNOPQRSTUVWXYZ BBCDEFGHIJKLMNOPQRSTUVWXYZ CCCDEFGHIJKLMNOPQRSTUVWXYZ DDDDEFGHIJKLMNOPQRSTUVWXYZ EEEEEFGHIJKLMNOPQRSTUVWXYZ FFFFFFGHIJKLMNOPQRSTUVWXYZ GGGGGGGHIJKLMNOPQRSTUVWXYZ HHHHHHHHIJKLMNOPQRSTUVWXYZ IIIIIIIIIJKLMNOPQRSTUVWXYZ JJJJJJJJJJKLMNOPQRSTUVWXYZ KKKKKKKKKKKLMNOPQRSTUVWXYZ LLLLLLLLLLLLMNOPQRSTUVWXYZ MMMMMMMMMMMMMNOPQRSTUVWXYZ NNNNNNNNNNNNNNOPQRSTUVWXYZ OOOOOOOOOOOOOOOPQRSTUVWXYZ PPPPPPPPPPPPPPPPQRSTUVWXYZ QQQQQQQQQQQQQQQQQRSTUVWXYZ RRRRRRRRRRRRRRRRRRSTUVWXYZ SSSSSSSSSSSSSSSSSSSTUVWXYZ TTTTTTTTTTTTTTTTTTTTUVWXYZ UUUUUUUUUUUUUUUUUUUUUVWXYZ VVVVVVVVVVVVVVVVVVVVVVWXYZ WWWWWWWWWWWWWWWWWWWWWWWXYZ XXXXXXXXXXXXXXXXXXXXXXXXYZ YYYYYYYYYYYYYYYYYYYYYYYYYZ ZZZZZZZZZZZZZZZZZZZZZZZZZZ 您需要输出: ABCDE BBCDE CCCDE DDDDE EEEEE 为了便于说明,我将仅使用ABCD,而不使用完整的字母。 您需要能够匹配L-phabet(上方)以及以下模式: 单行: ABCD or A B C D 单行重复N次数 ABCD or AAAA ABCD BBBB ABCD …

30
在其顶部显示一连串带奇数的小山脉!
第一行由ceil(n/2)元素组成,其中每个元素是:<space><odd-number><space> 第二行由ceil(n/2)元素组成,但每个元素都是/ \唯一的。 您可以假设n >= 0和n <= 10。 例子 输入3 1 3 / \/ \ 输入10 1 3 5 7 9 / \/ \/ \/ \/ \ Python 3中的示例,103字节: lambda a:print("".join([" "+str(i)+" "for i in range(1,a+1,2)]+["\n"]+["/ \\"for i in range(1,a+1,2)])) 以字节为单位的最短代码胜出:)

13
画一条龙曲线
今天的任务:画一条龙曲线! 如果你不知道龙曲线是什么,这里是一个介绍ViHart视频(真的很酷,敬请收看!) 您的任务:绘制一条龙形曲线,重复至少9次。您不必显示迭代1到9,仅需要显示完成(至少)9次迭代后生成的最终曲线。曲线必须绘制为连接曲线上各点的直线;输出应与下面显示9次或更多次迭代(直到反射,旋转,缩放和线宽,线色和背景色的变化)的图像之一匹配。您的输出必须足够大,以使各个行和它们形成的“框”可以相互区分。如果两条线在曲线中不相交,则它们不应在输出中占据相同或相邻的像素(在它们之间至少应有一个可见的背景像素)。您可以在屏幕上显示图像,也可以将图像保存到文件中。输出必须是图形的-不能是ASCII文字。 以字节为单位的最短代码为准,但是不应在字节数中包含库的包含指令,如果图形库或其他库是在发布前编写的,则可以使用为您选择的语言编写的图形库或其他库。 请提供程序输出的图像。 如果您观看了视频,请跳过本段:对于那些决定不观看视频的人,下面显示了龙曲线的前12次迭代。就此任务而言,龙曲线是通过以下规则生成的曲线:取当前曲线的端点,创建围绕该端点旋转90度的第二条曲线,以使原始曲线的端点曲线是新曲线的起点,并将两条曲线合并为一条相交的曲线。在下面显示的图像中,每个新的迭代都是通过将前一个迭代绕端点每次顺时针旋转90度来生成的。当曲线显示在屏幕上时,哪个终点算作“终点”并不明显,但是当曲线存储为点数组时,很容易将“终点”定义为终点数组。 赞赏但不接受Ascii艺术:这是图形输出,而不是ascii艺术。

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.