Questions tagged «code-golf»

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

17
让我们收敛到9!
给定整数n> 2,打印或返回最小的非负整数k,使a(n,k)= 9,其中a(n,k)的定义为: a(n,0)= n a(n,k + 1)= 如果 a(n,k)是偶数,则 a(n,k)/ 2 +1 如果a(n,k)为奇数,则a(n,k)²(以10为底)的数字总和 例子 对于n = 5,预期输出为k = 4: a(5, 0) = 5 a(5, 1) = 7 (5² = 25 and 2 + 5 = 7) a(5, 2) = 13 (7² = 49 and 4 + 9 = 13) …

16
还有一个程序,我出去了!
给定一个正整数嵌套级n和字符串s的打印的ASCII字符(到~,输出一个。方案,其中,以相同的语言运行时,输出一个程序,其输出程序输出该串s。 总计 n应该生成程序,所有程序都应以与您的答案相同的语言运行。 注意:您可以输出程序或函数-默认情况下,您可以将任何内容作为提交提交。 您可以s使用转义字符输入,以您的语言编写的程序或函数通常会如何输入字符串。 例 例如,给定n=1和s="recursion",Python 2程序可能输出: print "recursion" 运行此命令将输出: recursion 给定n=2和s =“ PPCG”,Python 2程序可能输出: print "print \"PPCG\" " 运行此输出: print "PPCG" 运行此输出: PPCG 相关(+标题灵感):还有一个LUL,我出门了 也相关(在沙箱中-现在已删除,但仍然可以以足够的信誉查看):源代码递归 测试用例 确保您的代码适用于以下测试用例(每行一个): n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

1
高尔夫Python字符串文字
背景 Python 3具有许多类型的字符串文字。例如,字符串this 'is' an exa\\m/ple可以表示为: 'this \'is\' an exa\\\\m/ple' "this 'is' an exa\\\\m/ple" r"this 'is' an exa\\m/ple" '''this 'is' an exa\\\\m/ple''' """this 'is' an exa\\\\m/ple""" r'''this 'is' an exa\\m/ple''' r"""this 'is' an exa\\m/ple""" 如您所见,为字符串使用不同的分隔符可以通过更改某些字符所需的转义来延长或缩短字符串。某些分隔符不能用于所有字符串:r'上面缺少(请参阅后面的说明)。知道您的琴弦在代码高尔夫中非常有用。 也可以将多个字符串文字组合为一个: 'this \'is\' an ''''exa\\\\m/ple''' "this 'is' an "r'exa\\m/ple' 挑战 面临的挑战是,给定可打印的ASCII字符串,以Python 输出最短的文字表示形式。 弦力学的详细信息 字符串可以使用分隔',",'''和"""。当再次不转义命中起始定界符时,字符串结束。 如果字符串文字以开头'''或"""用作分隔符。否则使用'或"。 …

25
最大子阵列
将给定数组的“最大子数组”定义为“具有最大和的(连续)子数组”。请注意,没有“非零”要求。输出该和。 如果可能,请提供代码说明。 样本输入1: 1 2 3 -4 -5 6 7 -8 9 10 -11 -12 -13 14 样本输出1: 24 描述1: 最大的总和是通过切除6 7 -8 9 10和求和而得出的。 样本输入2:-1 -2 -3 样本输出2:0 描述2:很简单:)空的子数组是“最大的”。 需求: 除了标准输入外,什么也不要读,输出应该输出到标准输出。 适用标准漏洞限制。 排名:最短的程序赢得此代码高尔夫球。

14
二进制墙弱
受启发于创建二元墙 给定一个正整数列表,我们可以像这样将它们彼此重叠地写出来,[2, 6, 9, 4]例如: 0010 0110 1001 0100 我们可以将其想象成一堵墙: ..#. .##. #..# .#.. 但是,这是一堵非常薄弱的​​墙,已经倒塌了!每个1(#)跌落直到撞到“地面”或另一个1(#)。的0S(.S)存在于由向左移动斑点1秒。 变为以下内容: .... .... .##. #### 转换为: 0000 0000 0110 1111 作为数字列表,其为[0, 0, 6, 15]。 另一个测试案例 [10, 17, 19, 23] 变成: 01010 10001 10011 10111 变成: 00000 10011 10011 11111 翻译回: [0, 19, 19, 31] 挑战 …

18
这是有效的Takuzu棋盘吗?
Takuzu是一种逻辑游戏,您必须使用包含0s和1s的单元格完成网格。网格必须遵循3条规则: 三个水平或垂直连续的像元不能相同。 必须有相等的0s和1每行和每一列中 s。 没有两行可以相同,也没有两列可以相同。 让我们看一个完成的网格: 0011 1100 0101 1010 正如你所看到的,这款主板遵循规则1,2和3。没有三个相同的水平或垂直单元格,所有行和列都包含相等数量的0s和1s,并且没有两行和两列相同。 让我们看一下无效的网格: 110100 010011 011010 101100 100011 001101 这个网格存在很多问题。例如,row连续5有三个0s,column连续2有三个1s,然后是三个0s。因此,这不是有效的网格。 任务: 您的任务是制作一个给定n* n 0的2D数组和1 s,以验证电路板以查看其是否为有效的成品Takuzu电路板。 例子: 0011 1100 0101 1010 该董事会遵循所有规则,因此是有效的Takuzu董事会。您必须为此返回真实值。 11 00 这不是有效的木板行1,不遵守规则2。您必须为此返回一个false值。 100110 101001 010101 100110 011010 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四行相同。 110100 001011 010011 101100 100110 011001 这不是有效的木板,它(仅)由于规则3而失败-第一和第四列相同。 011010 010101 101100 …

8
你能算出矩形的数量吗?
我最喜欢的数学消遣之一是绘制一个矩形网格,然后找到该网格中所有可见的矩形。在这里,提出这个问题,为自己冒险! 你能算出矩形的数量吗? +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ 此4 x 4 …

9
单词越过
输入: 两个字符串(注意:输入顺序很重要)。 输出: 两个单词/句子都从一行开始,中间有一个空行。他们“水平”“彼此相邻”行走。但是,当他们在同一位置有相同的性格时,他们会互相交叉,然后继续“彼此相邻”行走。 令您困惑?让我们举个例子: 输入:Words crossing over&Ducks quacking: Word quack n s i g Duck cross n over 不好意思的MS油漆。 挑战规则: 在“越过”之后,我们总是总是先走直线,然后才能再次越过(请参见{1}上方的测试用例- ing相等,但是在越过之后i,我们首先必须回去笔直走(因此忽略n),然后我们才能再次跨过g)。 输入的长度可以不同,在这种情况下,较长的输入将继续沿直线行走(请参见测试用例1、2、4和6)。 两个输入可以相同(请参见测试用例3)。 输入将不包含任何选项卡或换行符。 空格将被视为相同的字符(如边沿情况)而忽略,在这种情况下,其后的下一个(非空格)字符(如果有的话)将相交(请参见测试用例3、5和6)。 输入在同一位置上完全不能有相邻(非空格)字符,在这种情况下,它们都只能水平地走直线(请参见测试用例2)。 即使第一个字符相等,我们也总是分开两行(请参见测试用例3和6)。 尾随空格和一条尾随换行符是可选的。 您可以假定输入将仅包含可打印的ASCII字符(不包括换行符和制表符)。 输入是区分大小写的,所以A和a是不相等的,并且不会相交(请参见测试用例7)。 两个输入长度都将始终至少为2。 输入和输出可以采用任何合理的格式。可以是带有换行符的单个String;字符串数组/列表;打印到STDOUT;2D字符数组;等等 一般规则: 这是代码高尔夫球,因此最短答案以字节为单位。 不要让代码高尔夫球语言阻止您发布使用非代码高尔夫球语言的答案。尝试针对“任何”编程语言提出尽可能简短的答案。 标准规则适用于您的答案,因此您可以使用STDIN / STDOUT,具有正确参数的函数/方法和返回类型的完整程序。你的来电。 默认漏洞是禁止的。 如果可能的话,请添加一个带有测试代码的链接。 另外,如有必要,请添加说明。 测试用例: 1. Input: "Words crossing over" & …

16
拉链款
(受此挑战启发) 给定两个输入字符串(其中一个字符串比另一个字符串长一个字符),将这些字符串按ASCII艺术形式排列,就好像它们是仅拉链一半的拉链的两半一样。较长的单词构成拉链的底部,并且是组合的拉链部分的第一个和最后一个字符。由于难以理解该段,因此请看一些示例: zippered paragraph z i p p gerraepdh a r a p 请注意paragraph(较长的单词)如何形成底部拉链,并且该g r a p h部分封装的e r e d部分zippered,并且z i p p和p a r a部分彼此偏移。 输入项 两个ASCII字符串,可采用任何方便的格式,其中一个保证长度均匀,而另一个则保证一个字符长。 这两个字符串都不包含空格,但是可以包含任何其他可打印的ASCII值。 您可以按任何顺序输入。请在您的提交中说明输入顺序。 输出量 如上所述,所得到的拉链字的ASCII艺术表示形式还是任何方便的格式。 规则 前导或尾随的换行符或空格都是可选的,只要字符本身正确对齐即可。 完整的程序或功能都是可以接受的。如果是函数,则可以返回输出而不是打印输出。 如果可能,请提供一个在线测试环境的链接,以便其他人可以尝试您的代码! 禁止出现标准漏洞。 这是代码高尔夫球,因此所有常用的高尔夫规则都适用,并且最短的代码(以字节为单位)获胜。 例子 ppcg tests p p sctgs e t string strings s …

19
帕斯卡的交替三角形
Pascal的三角形是通过以1连续的加法开始并使其各行形成而生成的。相反,在这里,我们将通过交替的乘法和加法来形成一个三角形。 我们开始行1只是一个孤独的1。之后,对奇数行进行加法,对偶数行(1索引)进行乘法。在执行加法步骤时,假定三角形外部的空间用0s 填充。当执行乘法步骤时,假定外部被1s 填充。 这是向下到7行的完整三角形。左侧的*或+显示了执行该步骤以生成该行的步骤。 1 1 2 * 1 1 3 + 1 2 1 4 * 1 2 2 1 5 + 1 3 4 3 1 6 * 1 3 12 12 3 1 7 + 1 4 15 24 15 4 1 挑战 给定输入n,输出n该三角形的第th行。 规则 您可以选择使用0-index,但是请注意加法和乘法行必须翻转,以便如上所述生成完全相同的三角形。如果您选择这样做,请在提交的内容中注明。 …

7
皱眉,把它转过来
庆祝APL的许多面孔 给定下表中第1列或第2列中的字符串,将字符串的邻居返回其右侧。换句话说,如果在第1列中提供了一个字符串,则在该行上返回第2列的字符串,如果在第2列中给出了一个字符串,则在该行上返回第3列的字符串。 代码点(不是:的)在最右边列出。 塔1列2列3 :⊢ →交通 ⍡ →交通 ⊣: U +部22a2 U + 2361 U + 22A3 :▷ →交通 ⍢ →交通 ◁: U + 25b7 U + 2362 U + 25C1 :⋆ →交通 ⍣ →交通 ⋆: U + 22c6 U + 2363 U + 22c6 :∘ →交通 ⍤ →交通 ∘: …

30
圆圈重叠吗?
给定中心的坐标和2个圆的半径,请输出它们是否重叠的真实值。 输入项 输入可以通过STDIN或等效的函数参数获取,但不能作为变量。您可以将它们作为单个变量(列表,字符串等)或作为多个输入/参数,以任意顺序使用。 输入将是六个浮点数。这些浮点数最多可以保留3个小数位。坐标可以是正或负。半径将为正。 输出量 输出可以通过STDOUT或函数返回。 程序必须有2个不同的输出-一个用于True值(圆圈确实重叠),另一个用于False输出(它们不重叠)。 测试用例 (输入[(x1, y1, r1), (x2, y2, r2)]以测试用例的元组列表形式提供;您可以采用任何格式的输入) 真正 [(5.86, 3.92, 1.670), (11.8, 2.98, 4.571)] [(8.26, -2.72, 2.488), (4.59, -2.97, 1.345)] [(9.32, -7.77, 2.8), (6.21, -8.51, 0.4)] 假 [(4.59, -2.97, 1.345), (11.8, 2.98, 4.571)] [(9.32, -7.77, 2.8), (4.59, -2.97, 1.345)] [(5.86, 3.92, 1.670), (6.21, …

9
计算整数模100000000003的逆
任务如下。给定以您认为方便的任何方式呈现给您的代码的整数x(以至于x模数100000000003不等于0),输出另一个整数,y < 100000000003使(x * y) mod 100000000003 = 1。 您的代码必须采取不超过30分钟为标准的台式机上运行的任何输入x这样|x| < 2^40。 测试用例 输入:400000001.输出:65991902837 输入:4000000001.输出:68181818185 输入:2.输出:50000000002 输入:50000000002.输出:2。 输入:1000000.输出:33333300001 限制条件 您不得使用任何执行模算术(或此反操作)的库或内置函数。这意味着您甚至无法a % b不实施%自己。但是,您可以使用所有其他非模算术内置函数。 类似问题 这与该问题类似,尽管希望有足够的不同以引起人们的兴趣。

30
范围,反向,求和!
给定一个正整数n作为输入,输出n的反向范围和。 反向范围总和的产生方式是:使包含n的范围包括n(从1开始并包括n),将内部的每个数字取反,然后求和。 例: 这是输入10会发生的情况: 范围: [1,2,3,4,5,6,7,8,9,10] 反转:(反转的[1,2,3,4,5,6,7,8,9,01]1个字符本身就是数字,反转的10个数字是01或1) 和: 46 具有3位以上数字的数字与具有2位数字的数字相反。例如,1234变为4321。 测试用例: Input -> Output 10 -> 46 5 -> 15 21 -> 519 58 -> 2350 75 -> 3147 999 -> 454545 可以在这里找到输入999的完整文本案例,这非常感谢@ fireflame241。

20
尚未使用的对
让我们定义一个正整数序列。我们将偶数上的顺序定义为上一项的两倍。序列的奇数索引将是序列中尚未出现的最小正整数。 这是前几个术语。 1,2,3,6,4,8,5,10,7,14,9,18,11,22,12,24,13,26,15,30 您也可以将其视为级联对(n,2n)的列表,其中n是到目前为止最少未使用的正整数。 任务 给定数字n作为输入,请按此顺序计算第n个项。 这是代码高尔夫球,因此您应该以最小化以字节为单位的源代码大小为目标。 OEIS A036552

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.