Questions tagged «code-golf»

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

12
验证皇后难题
如果您不知道国际象棋中的皇后是什么,那没关系。这只是一个名字:) 您的输入将是一个任意宽度和高度的正方形,其中包含一些皇后。输入板看起来像这样(此板的宽度和高度为8): ...Q.... ......Q. ..Q..... .......Q .Q...... ....Q... Q....... .....Q.. 该板上有8个皇后。如果此处有7个,1个或10个,则该董事会将无效。 在这里,我们用a .表示空白,用Qa表示女王。您也可以选择使用任何非空白字符。 可以验证此输入有效,并且您应该打印(或返回)真实值(如果无效,则应打印(或返回)虚假值)。这是有效的,因为女王/王后不在同一行,列,对角线或反对角线中。 示例(不要在方括号中输出内容): ...Q.... ......Q. ..Q..... .......Q .Q...... ....Q... Q....... .....Q.. 1 ...Q. Q.... .Q... ....Q ..Q.. 0 Q. Q. 0 ..Q ... .Q. 0 (this is 0 because there are only 2 queens on a 3x3 board) …

20
用数字x表示x ^ 2除以7 ^ x-1
任务 有一组数字x,可以x^2相除7^x-1。 您的任务是找到这些数字。给定输入n,代码将打印遵循此规则的第n个数字。 示例1索引 In Out 3 3 9 24 31 1140 相关序列可以在这里找到。 规则 答案最短的将是赢家* 适用标准高尔夫规则 不允许有漏洞 您的答案可以是0或1索引,请在答案中注明

9
直到2017年
在这个挑战中,您将构建一个程序,该程序会随着时代的发展而不断发展……直到2017年。 挑战 每当此挑战说明说“程序”时,您也可以阅读“功能”。 您的提交在执行时将输出一个THE LENGTH OF YOUR SUBMISSION+ 1字节长的程序。 当该执行程序,它会输出一个程序,它是THE LENGTH OF YOUR SUBMISSION+ 2字节长...等等。 但是,当程序达到2017字节的长度时,它必须改为输出2017并退出。 规则 最终程序的输出必须为2017并且仅2017。它可以是字符串,也可以是整数,但必须读取2017并且不能读取或不读取,2017.0或读取0x7E1其他此类废话。 没有标准漏洞。 只允许您的初始程序要求输入,该输入将添加到您的字节数中。因此,如果您的初始程序是324个字符长,并且需要输入13个字节,那么您的总分将是 324 + 13 = 337, 并且它输出的程序必须是 338长个字节。 perl -X但是,只要您的初始程序和所有生成的程序都使用相同的标志,就可以使用命令行标志(例如)。同样,它们也计入总字节数。命令行标志前的破折号,斜杠等不计入总数,因此例如perl -X算作一个额外的字节。 如果返回一个函数,则它应该是一个实际函数,而不是在求值时产生一个函数的字符串。 不允许使用错误的奎因(如果您的程序是奎因)。 例 伪码,99个字节 IF (PROGRAM LENGTH == 2017) PRINT 2017 ELSE PRINT (THE SOURCE OF THIS PROGRAM + 1 …

9
打印我一个塔楼
使用最短的代码打印塔式大楼。 输入: 输入定义塔式大楼有几层。一层在门的两边都有一个窗户。该窗口由3x3哈希组成。 下面是一个四层塔楼的示例: ===================== )V V V V V V V V V V( )V V V V V V V V V V V( )V V V V V V V V V V V V( )V V V V V V V V V V V V …

6
笔菠萝苹果笔…用自己的笔,菠萝和苹果
序幕: 这个挑战与“另一个猫计划”不同。 字面上有很多不同的曲折,为什么我不能拥有自己的人呢? 独特之处: 它不是将直接输入读取为输出。 它以肯定不是一只直猫的方式来操纵弦。 挑战: 给定3个输入(或一个输入,可按需分隔),将得到3个对象(单词),我们将在歌词和输出中代替笔,菠萝和苹果。 输出格式(根据AZLyrics上的歌词): 假设(用以下括号替换值): 带输入词的A,B,C(例如apple) UA,UB,UC,输入单词带有首字母大写(如果还没有大写)(例如Apple) FUA,FUB,FUC分别具有第一个大写字母:(例如A) 附有与首字母元音/辅音有关的文章(例如an) [FUA]-[FUB]-[FUC]-[FUA] 我有[a / an] [A],我有[a / an] [C]。 h![UC]-[UA]! 我有[a / an] [A],我有[a / an] [B]。 h![UB]-[UA]! [UC]-[UA],[UB]-[UA]。 h![UA]-[UB]-[UC]-[UA]。 [UA]-[UB]-[UC]-[UA]! 测试用例: 与测试pen,pineapple以及apple: P-P-A-P I have a pen, I have an apple. Uh! Apple-Pen! I have a …
16 code-golf  string 

25
告诉我的朋友他们属于哪个“逗号俱乐部”
受到像这样的硅谷“三个逗号俱乐部”场景的启发,在这一挑战中,您将告诉十个人每个人所属的“逗号俱乐部”。 如果您不熟悉“逗号俱乐部”一词,请让我解释一下:如果您拥有的钱在$ 1,000.00到$ 999,999.99之间,则您就是一个逗号俱乐部;如果您的帐户价格在$ 1,000,000.00到$ 999,999,999.99之间,则您在两个逗号俱乐部中;这些“俱乐部”通过三逗号俱乐部重复出现,因为地球上没有一个人拥有超过一万亿美元的资产(日元很快就会变成另一个故事)。因此,根据美国和英国最常见的标记标准,您的银行帐户中的逗号数表示您所属的逗号俱乐部。相同的“逗号”规则适用于负数(尽管您不希望成为负逗号俱乐部):负数(包括在内)[-0.01,-999。 测试用例 Friend Amount John 100000 Jamie 0.05 Kylie 1549001.10 Laura 999999999.99 Russ 986000000 Karla 1 Reid 99.99 Mark 999.99 Manson 1000.01 Lonnie 999999999999.00 Nelly -123.45 正确的答案: John is in the 1-comma club. Jamie is in the 0-comma club. Kylie is in the 2-comma club. …
16 code-golf 

1
怀旧素数生成器
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 3年前关闭。 还记得过去的美好时光,因为打开一个简单的文档或网页非常缓慢,因为它占用了计算机的所有微薄资源?而如今,尽管您的处理器速度提高了数百倍,并且可以访问数千倍的内存,但是这样做的速度甚至还要慢? 为了模拟当前文档查看器和类似应用程序中的膨胀效果,编写一个程序,使其在功能更强大的计算机上运行时会出现明显的性能问题。 要使每个人都有共同的任务,请使其成为质数生成器。 该程序必须打印从2开始的连续素数,每个素数都换行。它应该永远这样做(或直到内存用完)。像这样: 2 3 5 7 11 13 17 在打印每行之间应该有足够的延迟,以使人类可以察觉到。 随着运行程序的计算机变得更快,此延迟应更长。机器速度越快,程序速度越慢。 我不会指定确切的基准,因为它可能会变得很主观,但是如果两台不同机器的性能之间存在显着差异,那么在两台不同机器上的速度应该存在可察觉的差异。 在创建的所有现有机器上,程序的速度不必单调降低。这将很难指定,甚至难以验证。我相信参赛者的常识是什么可以被认为是机器之间明显不同的性能,足以满足要求。 我也不会指定确切的时间上限或下限,但是应该在合理的范围内,因此请不要在打印两行之间间隔几天或几年。 从Eniac到现代,我都不会要求它运行,但是应该足够通用,例如,不允许它仅在两种特定的CPU类型上运行,并且专门检测一种特定的CPU名称。在其上将运行得更快或更慢。 该代码不应依赖编译器或解释器版本。如果在一台速度越来越慢的计算机上都安装了相同版本的编译器/解释器,或者即使二进制/字节码是在一台计算机上编译然后在两台不同的计算机上运行,​​它也应该可以工作。 请解释程序运行方式的原理。由于将难以再现结果,因此答案的有效性可能取决于该方法的可行性。 虽然我希望它能成为一场次比赛,但遗憾的是,此站点不再是“ Programming Puzzles&Code Golf”,而只是“ Code Golf”,因此最短的代码为准。

10
打印选票!
众所周知,今天是选举日! 今天的任务是,在有输入的情况下打印选票。 如果输入为Hillary Clinton,则打印: Hillary Clinton ===-----===> Donald Trump === ===> ____________ === ===> 但是,如果输入为Donald Trump,则打印: Hillary Clinton === ===> Donald Trump ===-----===> ____________ === ===> 如果还有其他问题,请将其写在第三行: Hillary Clinton === ===> Donald Trump === ===> Oliver Ni ===-----===> (从技术上讲,我还不到18岁...) 请记住,这是code-golf,所以字节最少的代码将获胜。

13
可变价格收入!
介绍和信誉 假设你是一个调酒师。大多数时候,酒吧里有很多快乐的人,但是很多人只喝相同的饮料,很少喝到适合自己的口味,因此您想改变这种状况。因此,您引入了一种系统,其中饮料的价格是可变的,具体取决于已售出的饮料的数量,但价格永远不会超过某些阈值。出于某种奇怪的原因,您总是忘记正确记录所有售出的饮料和价格,因此您需要考虑一段简短的代码(=令人难忘!),它根据给定的饮料消耗量为您进行数学计算。 这个挑战已经在我的大学的函数编程课程的2012年期中考试中出现过,我的教授可以在这里发布它。我们已提供了考试语言的示例解决方案。 输入值 您的输入将是不包含空格的字符串列表-这些是所售饮料的名称。使用您惯用的首选输入法进行输入。 输出量 您的输出将是一个数字-这是您今晚产生的收入。使用您通常首选的输出方法给出输出。 该怎么办? 这分别适用于每种饮料: 起始价为10。 每次购买饮料时,下一个购买者的价格都会上涨1。 最高价格为50。如果以50的价格购买了饮料,那么新价格将再次为10。 您的任务是找到根据上述规则输入的饮料清单生成的总收入。 如果您想知道:“ 50美元真是太贵了!”,这是50分贝,所以50 * 0.1 *单位,但是我选择10-50来排除不包含浮点运算。 谁赢? 这是代码高尔夫球,因此以字节为单位的最短代码胜出!适用标准规则。 潜在的极端案例 如果输入列表为空,则输出应为0。 不能假定输入列表按饮料排序。 例子 [] -> 0 ["A"] -> 10 ["A","B"] -> 20 ["A","A","B"] -> 31 ["A","B","A"] -> 31 ["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> 1240 ["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D"] -> 1304 ["D","A","A","C","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","C"] -> 1304 ["A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","B","B","B","C","C","D","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A","A"] -> …
16 code-golf  math 

10
生成所有长度为n的大括号
大括号字符串定义为由*()[]大括号正确匹配的字符组成的字符串: [brace-string] ::= [unit] || [unit] [brace-string] [unit] ::= "" || "*" || "(" [brace-string] ")" || "[" [brace-string] "]" 这是一个有效的大括号字符串: ((())***[]**)****[(())*]* 但是这些不是: )( **(**[*](**) **([*)]** 您的任务是编写一个程序(或函数),给定一个正整数n,该程序将一个数字作为输入并输出(或返回)所有有效的length括号n。 技术指标 您可以按任何顺序输出字符串。 您可以将其输出为列表或由不同字符分隔的字符串。 您的程序必须正确处理0。可能有1个长度为0的大括号字符串,即空字符串""。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 测试用例 0. 1. * 2. ** () [] 3. *** ()* []* (*) [*] *() *[] 4. **** …

19
打ic一串
您面临的挑战是编写一个打乱字符串的程序或函数。它应该以字符串作为输入(通过任何标准方法),然后执行以下步骤: 生成一个(不一定是一致的)1到10之间(含1和10 )的随机整数n。 等待n秒。 打印输入的前/后n个字符,如果少于n 个字符,则打印其余的输入。 如果还有要打印的输入,请返回步骤1。 规则 输入将始终是仅包含ASCII字符(32-126)的非空字符串。 等待时间不必精确地是n秒,但是必须在n的 10%之内。 每次打印一段文本时,您都可以打印尾随换行符。 例 此处的空格表示1秒。如果输入为Hiccupinator!,则输出可能为: Hic cupin a tor! 计分 这是代码高尔夫球,因此最短的代码以字节为单位获胜。
16 code-golf  string 

3
完全可逆的子矩阵
(受到有关数学问题的启发) 定义 给定一个n x n方阵一个,我们可以把它invertible是否存在某些n x n方阵乙,使得AB = BA = 我ñ,与我ñ是大小的单位矩阵n x n(与主对角线的矩阵1S和别的0)和AB和BA代表通常的矩阵乘法(在此不做介绍-采用线性代数类)。 从这一点,我们可以称之为一个m x n矩阵C ^ totally invertible如果每一个k x k的子矩阵(定义见下文)Ç是可逆的所有k > 1,k <= (smaller of m,n)。 子矩阵定义为从原始矩阵删除任何数量的行和/或列之后的结果矩阵。例如,可以通过如下删除第一行和中间一列,将下面的3x3矩阵C转换为2x2子矩阵C':1 2 32 5 8 C = [[1 2 3] [4 5 6] --> C' = [[4 6] [7 8 9]] [7 9]] …

10
Bailey–Borwein–Plouffe迭代
Bailey–Borwein–Plouffe迭代 我们已经在PPCG上看到了几个pi挑战,但是没有一个挑战明确指出了您应该使用的算法。我想看看Bailey–Borwein–Plouffe算法在迭代之前使用任何语言的实现n。计算公式如下: 您的算法应将每次迭代最多输出n次,显示中间和以及最终结果以形成“三角形”。您也可以使用维基百科页面上显示的算法的简化多项式形式。运行示例n=50如下所示: 3 3.1 3.14 3.141 3.1415 3.14159 3.141592 3.1415926 3.14159265 3.141592653 3.1415926535 3.14159265358 3.141592653589 3.1415926535897 3.14159265358979 3.141592653589793 3.1415926535897932 3.14159265358979323 3.141592653589793238 3.1415926535897932384 3.14159265358979323846 3.141592653589793238462 3.1415926535897932384626 3.14159265358979323846264 3.141592653589793238462643 3.1415926535897932384626433 3.14159265358979323846264338 3.141592653589793238462643383 3.1415926535897932384626433832 3.14159265358979323846264338327 3.141592653589793238462643383279 3.1415926535897932384626433832795 3.14159265358979323846264338327950 3.141592653589793238462643383279502 3.1415926535897932384626433832795028 3.14159265358979323846264338327950288 3.141592653589793238462643383279502884 3.1415926535897932384626433832795028841 3.14159265358979323846264338327950288419 3.141592653589793238462643383279502884197 3.1415926535897932384626433832795028841971 3.14159265358979323846264338327950288419716 3.141592653589793238462643383279502884197169 3.1415926535897932384626433832795028841971693 3.14159265358979323846264338327950288419716939 3.141592653589793238462643383279502884197169399 3.1415926535897932384626433832795028841971693993 …
16 code-golf  math  pi 

19
N维圈!
编写一个以两个数字为输入的程序。第一个是尺寸数-0代表点,1代表直线,2代表圆,3代表球体。第二个数字是对象的半径,如果是一维,则是数字本身。输出0表示0尺寸。输出是对象的长度/面积/体积。 如果我们调用第一个数字n,第二个数字r和输出x,我们将得到: 对于n = 0,x = 1 对于n = 1,x = 2×r 对于n = 2,x = r 2 ×π 对于n = 3,X =(4 / 3)×R 3 ×π 依此类推...不过,如果需要的话。 笔记: 一个或两个数字均为负数或第一个数字不为整数的情况无需覆盖。 该程序不得从任何文件中读取,唯一的输入就是这两个数字。 输出应仅使用数字(例如,不使用“ 14 * pi”),并且至少应精确到两位十进制数字。 对于n = 0,如果它使代码更短,则可以输出0。 额外的赃物甚至可以覆盖4个或更大尺寸的“球体”! 这是代码高尔夫球,因此最短答案以字节为单位! 例子: 1 1 -> 2 2 3 -> 28,27 3 …
16 code-golf  math 

1
Starry打高尔夫球的秘诀
您在Starry打高尔夫球有哪些一般提示??我正在寻找可以应用于代码高尔夫球问题的想法,并且这些想法至少也特定于Starry(例如,“删除评论”不是答案)。 请为每个答案发布一个提示。
16 code-golf  tips  starry 

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.