Questions tagged «code-golf»

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

6
绘制ASCII曲折曲线
出于这个问题的目的,一条曲折的曲线是沿着从左到右的大致方向,但是反复使n + 1向左旋转90度,然后使n + 1向右旋转(对于n> 0)。 实际上,曲折本身将具有n片段。 转弯用表示+。 曲折的宽度(两个之间的距离+)在水平线(---)为3,在垂直线(|)为1 以下是大小为n从1到5的曲折曲线的单个段: +-------------------+ | | +---------------+ | +-----------+ | | | | | | | +-----------+ | +-------+ | | | +---+ | | | | | | | | | | | | | | +-------+ | +---+ | | +---+ …

17
查找前n个弹性数之和
术语 递增数字是一个数字,其中每个数字都大于或等于其左侧的所有数字(例如12239) 递减数是一个数字,其中每个数字均小于或等于其左侧的所有数字(例如95531) 弹性数是任何不增加或减少的数字。由于这需要至少3位数字,因此第一个弹性数字为101 任务 给定整数n大于或等于1,求前n个弹性数之和 规则 这是代码高尔夫球,因此最短字节数的答案将获胜 如果您的语言对整数大小有限制(例如2 ^ 32-1),则n将足够小,以使总和适合整数 输入可以是任何合理的形式(stdin,文件,命令行参数,整数,字符串等) 输出可以是任何合理的形式(stdout,文件,显示数字的图形用户元素等) 测试用例 1 > 101 10 > 1065 44701 > 1096472981
19 code-golf  number 

18
跳序列
请考虑以下顺序: 0 1 3 2 5 4 8 6 7 12 9 10 11 17 13 14 15 16 23 ... 看起来没有花样,对吗?运作方式如下。从开始0,跳n整数,n从开始1。那是序列中的下一个数字。然后,附加任何“已跳过”且尚未出现的按升序排列的数字。然后,增加n并从附加的最后一个数字开始跳转。重复此模式。 例如,当我们到达时11,我们在n=5。由于尚未n出现n=6,我们增加到,跳到17,然后追加13 14 15 16。我们的下一个跳跃是n=7,因此序列中的下一个元素是23。 挑战 给定输入x,输出x该序列的第一x项,序列的第一项,或构建该序列的项的无限列表。您可以选择0或1索引。 I / O和规则 输入和输出可以通过任何方便的方法给出。 可以假定输入和输出适合您语言的本机数字类型。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。

9
第三弹!
此挑战是2018年4月LotM挑战的一部分 Brain-Flak是一种图灵化的语言,在PPCG上享有很高的声誉。语言的记忆是由两个堆栈组成,而是一个“隐藏”的第三组被发现由瓦é在向导,导致大脑思维,高射炮方案的一些有趣的新方式。 那么,如何给那个可怜的隐藏第三堆栈更多的可见性呢?让我们创建一种语言,使第三个堆栈具有应有的识别力!在这里,我向您介绍Third-Flak。 语言 在Third-Flak中,只有一个堆栈,称为第三堆栈。运营商在他们的脑高射炮做同样的方式在第三堆栈上工作,但这里没有[],{},<>nilads没有{...}单子(所以在第三高射炮程序的唯一受理字符()[]<>)。这是每个运算符的工作(将给出示例,该示例表示第三个堆栈,并带有列表,其中最后一个元素是堆栈的顶部): ()是Third-Flak中唯一的两个字符的运算符。它会将第三个堆栈的顶部加1。例如:[1,2,3]→[1,2,4] (,[,<:未覆盖的前情况下,所有开口括号推0至第三层叠体。例如:[1,2,3]→[1,2,3,0] )从第三个堆栈中弹出两个元素,并推回它们的总和。例如:[1,2,3]→[1,5] ]从第三个堆栈中弹出两个元素,然后推回从第二个元素中减去第一个元素的结果。例如:[1,2,3]→[1,-1] >从第三个堆栈中弹出一个元素。示例[1,2,3]→[1,2] 这是该语言的其他规则: 在执行开始时,第三个堆栈仅包含单个0。 禁止在程序内部为空[]或<>(如果遵循Third-Flak的语义,它们将始终是noop,但实际上它们在Brain-Flak中具有不同的含义,无法在此处重新创建)。 括号总是需要平衡的,除非程序末尾的结尾的括号可能会丢失。例如,[()<(()是一个有效的Third-Flak程序(程序末尾的第三个堆栈为[1,0,1])。 一个程序只能包含六个允许的字符()[]<>。程序保证是非空的。 注意:以前的规则暗示,您不必处理需要从空堆栈中弹出的情况。 挑战 很简单,为Third-Flak写一个解释器。您的程序必须将Third-Flak程序作为输入,并在程序末尾返回第三堆栈的状态作为输出。 您的输出格式是灵活的,只要可以从中明确读取第三个堆栈的状态,并且始终以相同的方式编码相同的数字(这只是一种说法,任何输出格式都不是公然的方式)尝试作弊就可以了)。 您的输出选择可能会限制您可以管理的数字范围,只要这不会使挑战变得微不足道(因为这将是默认漏洞)。 测试用例 对于每个测试用例,第一行是输入,第二行是输出堆栈,用空格分隔的数字列表表示,其中堆栈的顶部是最后一个元素。 [()<(() 0 1 0 1 [((((()()()()())) 0 0 0 5 ((([()][()][()]))) -3 [<<(((()()()())((((( 0 0 0 0 0 4 0 0 0 0 0 [()]<(([()])><[()] -1 0 -1 …

23
相同的数字字母
单词的字母要公平。 他们决定在句子中平均出现相同的次数。 例: Priorities 会变成: Ppprrioooritttieeesss 每个字母出现3次,最常见的字母i出现3次。 只要将重复的字母放在相似字母的旁边,就不要紧了。 即: Pppriooorritttieeesss 可以(“ r”字母) Ppprioororitttieeesss 不好(“ r”字母) 另一个例子: invoice 会变成: innvvooiccee 另一个例子: Remittance Advice 会变成: Rrremmmiitttaannncce Adddvvvice 空格,逗号,问号,引号等不被视为挑战的字母。只需要考虑[a-zA-Z]。只要有足够的空间,字母的顺序就应该保持不变。 字母的大小写无关紧要,大写和小写字母均视为相同的字母。也就是说:Pip具有2个“ P”和1个“ I”,所以它将变为Piip。 不区分大小写的字母可以是任何形式, Piip=piip=piiP=PiiP 这是代码高尔夫

3
交换程序一半以测试除数
四个整数序列 在此挑战中,您将测试正整数的四个不同属性,由以下序列给出。正整数N为 如果N的适当除数之和等于N,则为完美(OEIS A000396)。序列以6,28,496,8128,33550336,8589869056,137438691328,2305843008139952128 ...开始 如果N的除数为N的除数,则可重构(OEIS A033950)。序列以1,2,8,8,9,12,18,24,36,40,56,60,72,80,84,88,96,104,108,128 ...开始 实际(OEIS A005153)中,如果每个整数1≤ķ≤Ñ是一些不同的除数的总和Ñ。序列以1,2,4,4,6,12,12,18,20,24,28,30,32,36,40,42,48,54,56 ...开始 如果每个数字1≤K <N的除数严格小于N,则为高度复合(OEIS A002128)。该序列以1、2、4、6、12、24、36、48、60、120、180、240、360、720、840、1260、1680、2520、5040开头。 四个程序 您的任务是编写四个程序(表示完整程序,函数定义或通过任何标准方法执行I / O的匿名函数)。每个程序应解决这些序列之一的成员资格问题。换句话说,每个程序将以N≥1的正整数作为输入,如果N在序列中,则输出真实值;否则,输出虚假值。您可以假定N在编程语言的标准整数类型的范围内。 程序必须以以下方式关联。有四根弦ABCD,使得 AC 是识别完美数字的程序。 AD 是识别可重构数字的程序。 BC 是识别实际数字的程序。 BD 是识别高度合成数字的程序。 计分 您的分数是字符串的总长度(以字节为单位)ABCD,或者换句话说,是四个程序的总字节数除以2。每种编程语言中得分最低的是获胜者。适用标准代码高尔夫球规则。 例如,如果四个字符串是a{,b{n,+n}和=n}?,然后将四个节目是a{+n},a{=n}?,b{n+n}和b{n=n}?,比分是2 + 3 + 3 + 4 = 12。

1
写一个形状简化器
介绍 我有很多ASCII语言。它们由破折号,管道,Vs,尖号,尖括号,斜线和空格组成。例: /--\ | | | | \--/ 我想像这样侵蚀它们: /\ / \ \ / \/ 所有的角落都变得圆了。一个更复杂的示例: /----\ | \------\ | | | | \------------/ /--\ / \------\ | \ \ / \----------/ 经过另一次侵蚀,它将变成 /\ / \------\ < \ \ / \--------/ 还有一个: /\------\ < \ \ / \------/ 挑战 您面临的挑战是编写一个可以侵蚀一次输入的程序。您可以假设只有一块岩石,并且可以假设它是一个闭环。输入将仅包含字符,/\ …

13
输入您的输入
这有点类似于这个尘土飞扬的条目,但是我希望自己的旋转使它足够独特。找不到能阻止我发布此内容的任何东西,但是外面有很多大海。 无论如何!挑战: 您的代码收到一个字符串。它将其转换为相同字符串的ASCII艺术风格版本,但有一个问题。 输入转换 唯一支持的字符是AZ和0-9 小写字母转换为大写 其他所有内容均被静默删除 人物画 放大字体的每个“像素”都是从输入字符串中绘制的 第n个像素等于输入字符串中的第n个字符。如果n大于输入字符串的长度,请绕回开头 各个字母从左到右,从上到下绘制 随后的字母从上一个字母的下一个位置开始获取其“像素字符”索引(例如,输入长度为10,如果第一个字母有9个像素,则第二个字母的第一个像素将使用第10个输入字符绘制,第二个像素将使用第一个输入字符绘制) 每个字母都绘制在5x5的网格中,并用空格完全填充。您可以在此pastebin中找到要为您预渲染的字体,或者在本帖子中进一步介绍 每个字母都画在同一行上,因此输出中的换行总数为4 每个字母由2列空格分隔 字型 000 0 00 0 0 0 00 0 000 111 1 1 1 11111 2222 2 222 2 22222 3333 3 333 3 3333 44 4 4 44444 4 4 55555 5 5555 5 …

30
确定是还是否?
输入字符串[length 1-20]后,仅包含字符y(是)和n(否),您的程序应输出结果(y或n)。输入示例:yynynynny将输出y。 通过以下方式组合y和n来确定结果: y es和n o等于n o Ÿ ES和ÿ ES等于ÿ ES n o和n o等于y es 如果字符串包含两个以上的字符(可能是...),则计算结果将相同。例子: y es和y es和n o等于n o(因为“否”与第一个“是”到“否”合并,然后不存在且“是”,并且同样的情况再次发生) n o和n o和n o等于 n o(前两个no合并为yes,然后有yes和no left,出现为no) 输入与输出示例: yynynynynyyn = n 提示:请记住,程序运行的字符顺序无关紧要。(例如,您可以从背面读取输入,也可以从后面读取输入,混合字母,对其进行排序,无论如何。最重要的是正确的输出)玩得开心! 获胜标准:这是代码高尔夫球,因此以字节为单位的最短代码获胜。

30
查找方根
编写代码给定一个正数时,为输入,输出的最大的正除数小于或等于的平方根。xxxxxxxxx 换句话说,找到最大的n>0n>0n > 0使得 ∃m≥n:m⋅n=x∃m≥n:m⋅n=x\exists m\geq n:m\cdot n=x (存在mmm大于或等于nnn,使得mmm乘以nnn是xxx) 例如,如果输入是121212的约数是111,222,333,444,666,和121212。 111,222和333的所有乘以较大的数字得到121212,而333是最大的,所以我们返回333。 这是代码高尔夫球,因此答案将以字节计分,而较少的字节被视为更好的计分。 测试用例 (1,1) (2,1) (3,1) (4,2) (5,1) (6,2) (7,1) (8,2) (9,3) (10,2) (11,1) (12,3) (13,1) (14,2) (15,3) (16,4) (17,1) (18,3) (19,1) (20,4) (21,3) (22,2) (23,1) (24,4) (25,5) (26,2) (27,3) (28,4) (29,1) (30,5) (31,1) (32,4) (33,3) (34,2) (35,5) (36,6) (37,1) …

19
使用矩形代码检测矩形文本
给定一串可打印的ASCII文本(包括换行和空格),该字符串包含至少一个既不是换行也不是空格的字符,如果该字符串是矩形,则输出真实值,否则输出假值。此外,您的解决方案的源代码必须为矩形。 如果字符串满足以下所有条件,则为矩形: 第一行和最后一行不包含空格。 每行的第一个和最后一个字符不是空格。 所有行具有相同数量的字符。 例如,以下文本是矩形: abcd e fg hijk 但是,该文本不是矩形(要求3): 1234 567 8900 测试用例 真相: sdghajksfg asdf jkl; qwerty u i op zxcvbn 1234 5 6 7890 abcd e fg hijk 虚假: a b c 123 456 7 9 12 345 qwerty uiop zxcvnm 1234 567 8900 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。

23
坚持使用新文件名
在运行时,不断提示输入一行,直到用户输入不是相对于当前工作目录的现有文件或目录或其他文件系统项的名称。然后返回/打印最后输入的文件名。您可以假定所有用户输入都是有效的文件名。 伪代码1 myform = new form("GUI") myform.mytxt = new editfield("") myform.ok = new button("OK") repeat waitfor(myform.ok,"click") until not filesystem.exists(myform.mytxt.content) return(myform.mytxt.content) 伪代码2 LET TEXT = "." WHILE HASFILE(TEXT) DO TEXT = PROMPT("") ENDWHILE RETURN TEXT 在TIO上时将引起重新提示的用户输入示例: . .. .env.tio / /bin/[ /lost+found 在TIO上返回的用户输入示例: ... env.tio ../../bin/] /lost/found

5
多方面的舞蹈
挑战 给定n整数维数组和第一个n自然数的排列,请相应地排列数组维。 细节 这一挑战是受MATLAB启发的permute。演示 排列以整数列表形式给出,例如,[1,3,2]表示1映射到1,将2映射到3,将3映射到2(此处,i第th个条目是i映射到的值)。但是您可以使用其他方便的格式,例如作为循环或函数。如果更方便,也可以使用基于0的索引。 可以假定该数组是完整的“矩形”数组m1 x m2 x ... x mn(即,您可以假定它不是锯齿状的)。 您可以假设该n值不太大,因为许多语言对嵌套数组中的维数都有限制。 如果您的语言不支持多维数组,则也可以将代表数组的字符串作为输入。 例子 任何n与身份置换维数组[1,2,3,...,n]将保持不变。 [[10,20,30],[40,50,60]]具有排列的数组[2,1]将映射到[[10,40],[20,50],[30,60]]。 [[[1,2],[3,4]],[[5,6],[7,8]]]具有排列的数组[2,3,1]将映射到[[[1,3],[5,7]],[[2,4],[6,8]]]。

13
检查矩阵中是否所有非零元素都已连接
输入: 包含[0-9]范围内的整数的矩阵。 挑战: 确定是否所有非零元素都垂直和/或水平连接。 输出: 甲truthy值,如果所有被连接,并且一个falsy值是否有非零元素/未连接到其它元件/组的基团。 测试用例: 测试用例以行分隔。在这里可以以更方便的格式找到测试用例(对Dada表示感谢)。 以下所有内容均已连接,应返回真实值: 0 --- 0 0 --- 1 1 1 0 0 0 --- 1 0 0 1 1 1 0 0 1 --- 0 0 0 0 0 0 0 0 3 5 1 0 0 1 0 2 0 1 1 …

19
使三角计划有效
三角性是Xcoder 先生开发的一种新的esolang ,其代码结构必须遵循非常特定的模式: 对于第nth行代码,其上必须完全2n-1有程序的字符。这将导致三角形/金字塔形,第一行仅包含一个字符,其余行以2为增量增加。 每行.的左侧和右侧都必须用s 填充,以使字符以其行为中心,并且所有行都应填充为相同的长度。如果l定义为程序中的行数,则程序中的每一行的长度必须为2 * l - 1 例如,左侧的程序有效,而右侧的程序无效: Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 当布置在有效结构中时,该名称变得显而易见。 任务 您的任务是将单个行字符串作为代表Triangularity代码的输入,并将其输出转换为有效代码,如上所述。 I / O规格: 输入将仅包含范围内的字符 0x20 - 0x7e 输入的长度始终是一个平方数,因此可以很好地填充。 您必须将点用于输出填充,而不要使用其他东西。 您可以通过任何可接受的方法输入和输出。这是一个代码高尔夫球,因此以字节为单位的最短代码胜出! 测试用例 input ---- output g ---- g PcSa ---- .P. …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

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.